跨多个文件的Google云端硬盘注释是否有一个API端点?

时间:2019-03-27 03:50:40

标签: javascript google-drive-api

我正在构建一个小型应用程序,除其他外,该应用程序按时间顺序显示所有评论和对其工作的Google云端硬盘帐户中文件的答复。稍后,我将构建一些自定义过滤器,以便用户可以仅看到@提到的评论和答复。

现在,要获取数据,有一个Google Drive API端点可以获取list of Drive files for a given user,例如: GET https://www.googleapis.com/drive/v3/files?orderBy=modifiedTime%20desc&pageSize=20&fields=*

还有一个Google Drive API端点可以获取a list of comments on a given file。示例:GET https://www.googleapis.com/drive/v3/files/fileId/comments。每个评论都有一个replies属性,该属性包含对该评论的回复数组。

现在我正在做的是:

  • 获取用户的20个最新的Google云端硬盘文件(第一个端点)
  • 对于20个云端硬盘文件中的每个文件,获取该文件的注释列表(第二个端点),并将其转储到commentAndReplies数组中。
  • 对于每个评论(通常是30-40条以上的评论),运行forEach以获得每个评论的所有回复,并将每个回复转储到commentsAndReplies数组中。

对于像我这样的简单用例来说,这似乎有点过分。我仔细阅读了文档,但找不到适合我的用例的任何东西-例如,我认为埋在Google云端硬盘中的单个文件元数据可能是comments属性,因此我只需要获取一个电话-但没有这种运气。

是否缺少某些我想提高效率的Google云端硬盘端点,或者其他可以提高效率的方法?我将尝试在重新加载时合并一些差异类型检查,因此我不必在每次用户重新加载时都发出所有这些API请求(我使用map和Promise.all合并了一些批处理来限制我的API请求,但我仍然偶尔会收到403 API速率限制错误),但我觉得我可能遗漏了一些东西。

1 个答案:

答案 0 :(得分:1)

  

是否存在用于多个文件的Google云端硬盘注释的单个API端点?

不,没有。 Google的大多数驱动器都是基于文件的,因此所有交互都必须包含您要查看其数据的文件。

例如file.comments

https://www.googleapis.com/drive/v3/files/**fileId**/comments

要查看文件注释,您必须将希望查看注释的文件发送给API。