列出整个文件夹->子文件夹结构的Dropbox帐户(Dropbox API)


Listing entire folder->subfolder structure of Dropbox Account (Dropbox API)

我正试图找到最快(阅读最佳性能)的方式来检索授权用户的dropbox文件夹开始在"/"路径。我愿意使用PHP或Python。

下面是我的代码(PHP):

function db_recursive($dbxClient, $path, $folders=array(), $called=array())
    {
        $folderMetadata = $dbxClient->getMetadataWithChildren($path);
        $called[] = $path;
        foreach ($folderMetadata['contents'] as $content)
        {
            if ($content['is_dir'] == true)
            {
                if (!isset($folders[$content['path']]))
                {
                    $folders[$content['path']] = $content['path'];
                }
            }
        }
        foreach ($folders as $k => $folder)
        {
            if (in_array($k, $called))
            {
                continue;
            }
            else
            {
                db_recursive($dbxClient, $k, $folders, $called);
            }
        }
    }

遇到的问题:1. 尝试使用delta方法而不是getMetadatawithChildren,但需要5分钟给出大约80,000个条目(相同的结果是否使用PHP或Python)2. 使用getMetadatawithChildren,我遇到了最大的功能级错误(已将其提高到300)

有没有人有快速获取所有文件夹和子文件夹的方法?

使用/delta绝对是最快的方法。参见https://www.dropbox.com/developers/blog/69/efficiently-enumerating-dropbox-with-delta。

也就是说,5分钟听起来对于80,000个条目来说有点长。我本来预计会有一到两分钟,所以可能值得调查一下时间去了哪里(例如,打了多少个电话,每个电话返回了多少个条目)。