xar*_*lis 8 google-app-engine google-apps google-drive-api
最近发布的推送通知服务非常酷,看起来比以前需要的轮询有了很大改进.
我想知道如何启用Drive上共享文件夹中的所有文件.我们正在开发云端硬盘监控工具,该工具会保留所有更改的列表并启用整个企业云端硬盘文件夹的报告.
我知道我可以在更改Feed中使用有关新对象的通知.不幸的是,你是不是能够检测到发生了什么变化,从变化的资源.
在观看文件资源时,您可以接收通知,说明有关文件的更改内容(父级,权限,元数据等).这很好,但似乎无法为Drive中的所有文件注册Push Notification处理程序.文档说你总是需要提供fileId.这意味着在我们的场景中对数百万个文件进行观察请求(不提及每次更新Push API频道).
您是否知道比使用更改通知更合适的方式并检测已手动更改的内容(这是相当多的API调用而且速度很慢).
长话短说不.
推送通知现在仅支持观看文件和更改.您可能知道,Google云端硬盘中的文件夹是带有特殊mimeType的文件.也就是说,您可以通过向文件夹发出Files.Watch()请求来查看特定文件夹.但是,它只会告诉你直接孩子的变化,而不是递归,这可能不是你想要的.
您可以采取的最佳方法是将所有文件的元数据复制到您的应用程序,并在发生任何更改时进行比较.我知道这不是很有效,但就目前而言,这是实现这一目标的唯一方法.
如果你问我是否会创建你想要的功能,不太可能.推送通知不仅适用于Drive API.它专为所有Google API设计,可以监控任何API资源并检测其更改.基本上,当您发出Files.Watch()请求时,它会保留Files.get()结果的副本,并在发生任何更改时通知您.这就是为什么Files.watch有更多有用的细节.对于更改,只要Changes.list()发生更改,它就会告诉您.因此,它无法告诉您什么比Change资源当前可以做的更好.从它的设计来看,我认为你想要的功能不会被添加到Drive API中.
| 归档时间: |
|
| 查看次数: |
2217 次 |
| 最近记录: |