gpt4 book ai didi

java - 我可以访问 Dropbox App 文件夹中的子文件夹内容吗

转载 作者:行者123 更新时间:2023-12-01 09:15:34 26 4
gpt4 key购买 nike

我已经使用 Dropbox API 设置了我的第一个小型演示应用程序,但无法看到应用程序文件夹中子文件夹的任何内容。在设置选项卡上,我看到:权限类型:应用程序文件夹(此应用程序仅对其文件夹内的文件具有读/写权限)。

我的文件夹结构如下所示:

  • /Apps/MyAppFolderName/Folder1/Folder2/File3
  • /Apps/MyAppFolderName/Folder1/File2
  • /Apps/MyAppFolderName/File1

我的代码看起来就像 C# 教程一样,没有任何修改:

async Task ListRootFolder(DropboxClient dbx)
{
var list = await dbx.Files.ListFolderAsync(string.Empty);

// show folders then files
foreach (var item in list.Entries.Where(i => i.IsFolder))
{
Console.WriteLine("D {0}/", item.Name);
}

foreach (var item in list.Entries.Where(i => i.IsFile))
{
Console.WriteLine("F{0,8} {1}", item.AsFile.Size, item.Name);
}
}

它只打印出File1和Folder1;它永远不会到达文件 2 或文件夹 2(也不会到达文件 3)。

我是否误解了应用程序文件夹权限的含义(因为它不允许访问子文件夹),或者我是否期望调用 API 的另一部分来打开子文件夹?在完成 list.Entries 的第一次迭代后,我尝试使用 ListFolderContinueAsync(list.Cursor) 方法,但它只是返回一个空枚举器。

最佳答案

默认情况下,ListFolderAsync不会返回子文件夹。要获取子文件夹(和所有子文件夹),您应该使用 Recursive ListFolderAsync 上的参数,例如:

var list = await dbx.Files.ListFolderAsync(string.Empty, true);

这优于单独为每个子文件夹调用 ListFolderAsync

无论哪种情况,请务必检查 HasMore并回拨ListFolderContinueAsync如有必要,请按照ListFolderAsync documentation

关于java - 我可以访问 Dropbox App 文件夹中的子文件夹内容吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40562795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com