我在特定文件夹中列出了一个树,但是对于每个driveService-> files-> listFiles(),它至少需要1秒......我怎样才能提高速度?
$response = $driveService->files->listFiles(array(
'q' => "'" . basename($dir) . "' in parents AND trashed = false ",
'spaces' => 'drive',
'pageToken' => $pageToken,
'pageSize'=>1000,
'fields' => 'files(id,mimeType)'));
答案 0 :(得分:2)
通过请求最多1,000个结果,Google服务器需要执行大量内部工作才能找到您的文件。我能想到加速它的唯一方法是对文件进行分片并在每个查询中使用较少的文件运行并行查询。这取决于您是否想要提高吞吐量或响应时间(它们是不同的并且通常是互斥的)。
N.B。在您的代码中,您不必在字段中包含nextPageToken。这几乎肯定是一个错误! " 1,000"因此,GDrive保留返回少量文件并设置nextPageToken的权利,以表明有更多文件需要提取。