使用Google Drive API(OAuth2)获取文件夹中所有文件的最佳方法是什么?
例如,使用Dropbox,它只是对(1个请求)的简单查询:
https://api.dropbox.com/1/metadata/dropbox/{folder}
对于Skydrive,它是:
https://apis.live.net/v5.0/{folder}
然后查询upload_location
(2个请求)。
根据Google API文档,对于Google云端硬盘,可以向
发出请求 https://www.googleapis.com/drive/v2/files/{folder}/children
获取数据,以便data.items
包含子项ID。但是,使用此方法,如果文件夹包含n
个文件,则需要发出n+1
个请求(1个用于获取项目列表,n个用于每个项目)。
我认为对这样的基本任务提出n+1
请求太多了。这是Google Drive API设计的方式,还是有更快的方法来查询文件夹中的所有文件(包含足够的元数据)?
答案 0 :(得分:4)
您可以使用列表端点并将结果限制为具有给定父级的文件。
请参阅https://developers.google.com/drive/v2/reference/files/list:
https://www.googleapis.com/drive/v2/files?q='id'+in+parents
这会返回比子端点
更多的元数据答案 1 :(得分:-1)
我不是专家,但看起来你所描述的方式就是API的设计方式。只是从https://developers.google.com/drive/v2/reference/children/list看起来你打算得到一个ChildReference列表,然后从你得到它的文件ID的每个项目,然后使用files()。get(fileID)函数来获取每个文件从那里。