Google Drive API文件列表

时间:2013-07-04 18:33:13

标签: google-api google-drive-api google-oauth

使用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设计的方式,还是有更快的方法来查询文件夹中的所有文件(包含足够的元数据)?

2 个答案:

答案 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)函数来获取每个文件从那里。