Google app engine 使用驱动器API监视整个域中Google驱动器文件的更改

Google app engine 使用驱动器API监视整个域中Google驱动器文件的更改,google-app-engine,google-drive-api,scalability,google-apps,Google App Engine,Google Drive Api,Scalability,Google Apps,我们正在创建GoogleDriveModeration应用程序,以保留Gapps域中所有文件的更改列表。问题是,我们需要对每个用户进行非规范化—一个接一个—以便获得所有更改,因为似乎没有全局API方法来实现这一点 这是一种糟糕的可伸缩性方法,因为我们有大量的用户(10000+),每个用户都有大量的更改 是否有任何方法可以一次性或至少以某种更具伸缩性的方式获得整个域的文件更改?谷歌驱动API文档在这里没有帮助。谢谢。简化了应用程序的身份验证部分,但您仍需要作为每个用户进行身份验证,以获取他们的文件

我们正在创建GoogleDriveModeration应用程序,以保留Gapps域中所有文件的更改列表。问题是,我们需要对每个用户进行非规范化—一个接一个—以便获得所有更改,因为似乎没有全局API方法来实现这一点

这是一种糟糕的可伸缩性方法,因为我们有大量的用户(10000+),每个用户都有大量的更改

是否有任何方法可以一次性或至少以某种更具伸缩性的方式获得整个域的文件更改?谷歌驱动API文档在这里没有帮助。谢谢。

简化了应用程序的身份验证部分,但您仍需要作为每个用户进行身份验证,以获取他们的文件和更改

您的应用程序可能会“抓取”所有文件,并使自己(或特殊用户)成为所有者,然后您只需扫描一个用户帐户,但“抓取”过程仍需要定期运行,以查找最终用户创建或上载的新文件


我相信大多数需要扫描这一级别内容的应用程序都是通过cron-jobs或AppEngine来实现的,这使得一整天都可以轻松地将扫描内容分块。一般来说,他们希望每24小时左右扫描一次每个用户帐户。

您不能使用域范围的授权来获得所有更改:@voscausa:我们已经有了服务帐户。但这并不能帮助您单独查询每个用户的数据,这是主要问题。也许您可以创建一个驱动器应用程序脚本来监视用户驱动器的修改,并将其推送到您的应用程序引擎应用程序中。不幸的是,无法使我们的应用程序成为文件的所有者。实际上,我们曾尝试使用任务队列来完成这项工作,但现在看来,由于支持线程,后端实例是一种更好的方式。这样,我们就可以生成数十个线程来查询特定于用户的数据。但是,这似乎是克服一次性收集所有更改的不可能性的一种非常粗糙的方法:(您需要所有者访问权限,还是授予您的特殊用户帐户对每个文件的编辑/查看访问权限可以作为集中访问的一种方法?我们可能需要所有者访问权限,因为有很多文件元信息(如文件ACL)否则将无法访问。