google-api – Google Drive API v3,有没有办法获取作为fileId父文件夹的文件夹列表?

在v2中,可以使用子文件中的查询fileId调用/ files来获取作为所提供文件的父文件的DriveFile对象的列表.

现在,似乎需要调用/ files /:fileId?fields = parents,然后为每个返回的父项单独调用/ files /:parentId,可能将一个调用转换为十几个.

这是正确的,如果是这样,为什么?这对我们的应用程序来说是一个巨大的性能影响,所以希望有一个没有文档记录的方法.

最佳答案 在v2中,查询“’fileId’在子项中”并不公开存在(未记录/支持),我不记得它曾经存在过. V2中存在的是Parents集合,它有效地回答了同一个问题.在第3版中,要获取文件的父母,您只需要接收孩子并询问父母字段.

至于这是否会影响性能,我不认为它在实践中. v2中的Parents资源开始时非常轻松,除了ID之外,唯一有用的字段是’isRoot’属性.您可以通过先调用files / root来获取该用户的根文件夹的ID来计算自己(只需一次并保存,该用户不会更改.)

如果您需要获取有关父母的更多信息而不仅仅是ID,并且担心您必须进行的调用,请使用批处理来获取它们.如果您只有一个父级,则无需批处理(只是开销.)如果您发现文件有多个父级,请创建批处理请求.这将作为单个HTTP请求/响应发送,并在后端非常有效地处理.

重点是,如果你只需要ID,那就不比以前差.这是一个获取文件父母的电话.

如果您需要的不仅仅是ID,那么最多只有2个HTTP请求(超出批量大小的1000个父项之外的非常奇怪的边缘情况:)

点赞