我可以访问 Dropbox App 文件夹中子文件夹的内容吗
Can I access content of subfolders within Dropbox App folder
我已经使用 Dropbox API 设置了我的第一个小型演示应用程序,但无法看到 App 文件夹中子文件夹的任何内容。在设置选项卡上,我看到:
权限类型:应用文件夹(此应用 read/write 只能访问其文件夹内的文件)。
我的文件夹结构如下所示:
- /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;它永远不会到达 File2 或 Folder2(也不会扩展到 File3)。
我是否误解了 App 文件夹权限的含义(因为它不允许访问子文件夹),或者我应该调用 API 的另一部分来打开子文件夹?在完成 list.Entries
的第一次迭代后,我尝试使用 ListFolderContinueAsync(list.Cursor)
方法,但它只是返回一个空的枚举器。
如果将子文件夹名称传递给 ListFolderAsync
方法,则可以访问子文件夹的内容:
var list = await dbx.Files.ListFolderAsync(@"/Folder1/Folder2");
名称必须以“/”为前缀。
默认ListFolderAsync
won't return subfolders. To get subfolders (and all children), you should use the Recursive
parameter on ListFolderAsync
,例如:
var list = await dbx.Files.ListFolderAsync(string.Empty, true);
这优于为每个子文件夹单独调用 ListFolderAsync
。
无论哪种情况,请务必检查 HasMore
and call back to ListFolderContinueAsync
if necessary, per the ListFolderAsync
documentation
我已经使用 Dropbox API 设置了我的第一个小型演示应用程序,但无法看到 App 文件夹中子文件夹的任何内容。在设置选项卡上,我看到: 权限类型:应用文件夹(此应用 read/write 只能访问其文件夹内的文件)。
我的文件夹结构如下所示:
- /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;它永远不会到达 File2 或 Folder2(也不会扩展到 File3)。
我是否误解了 App 文件夹权限的含义(因为它不允许访问子文件夹),或者我应该调用 API 的另一部分来打开子文件夹?在完成 list.Entries
的第一次迭代后,我尝试使用 ListFolderContinueAsync(list.Cursor)
方法,但它只是返回一个空的枚举器。
如果将子文件夹名称传递给 ListFolderAsync
方法,则可以访问子文件夹的内容:
var list = await dbx.Files.ListFolderAsync(@"/Folder1/Folder2");
名称必须以“/”为前缀。
默认ListFolderAsync
won't return subfolders. To get subfolders (and all children), you should use the Recursive
parameter on ListFolderAsync
,例如:
var list = await dbx.Files.ListFolderAsync(string.Empty, true);
这优于为每个子文件夹单独调用 ListFolderAsync
。
无论哪种情况,请务必检查 HasMore
and call back to ListFolderContinueAsync
if necessary, per the ListFolderAsync
documentation