Dropbox.GetFileList只有returns个有限的文件

Dropbox.GetFileList only returns limited number of files

我有以下代码:

public static void ReadAndInsertFromDropbox(string accessToken, string dropboxPath, string localPath)
{
    Dropbox db = new Dropbox(accessToken);
    List<string> allFiles = db.GetFileList(dropboxPath);
    allFiles.Sort();
    foreach (string allFile in allFiles)
    {
        string filePath = db.Download(dropboxPath, localPath, baseName);
    }
}

return文件数量有限。

我没有计算它可以处理的最大文件数 return 但它似乎在 2,000 - 2,400 之间。

这是 GetFileList 的代码:

public List<string> GetFileList(string dropboxfolder)
{
    List<string> l = new List<string>();
    var list = client.Files.ListFolderAsync(dropboxfolder);

    list.Wait();

    ListFolderResult listResult = list.Result;
    foreach (var item in listResult.Entries.Where(i => i.IsFile))
    {
        l.Add(item.Name);
    }
    return (l);
}

如何更改代码以允许下载无限数量的文件?

ListFolder 界面是分页的,这意味着您每次请求只能获得总结果的一部分。 The ListFolderContinueAsync method should be used, in addition to ListFolderAsync,为了得到所有的结果。

您可以在 the ListFolderAsync documentation 中找到更多信息。