我正在考虑使用Google云端硬盘推送通知来代替我们当前的提取流程。我开始玩它,但是有两个主要问题:
观察变化:
观察驱动器更改时,我会收到带有新更改ID的通知。但是,当我尝试使用driveService.changes()。get(changeId)查询它时,间歇性地得到404。我在这里做错什么了吗?
观看文件:
在查看文件更改时,如果是文件夹,我想知道添加到该文件夹的新文件,因此我希望在从该文件夹添加/删除文件时,“ x-goog-resource-state”将保留“添加/删除”值,而“ x-goog-changed”将包含“子项”。
实际上,“ x-goog-changed”确实包含“子项”,但是“ x-goog-resource-state”始终为“更新”,并且没有有关添加/删除文件的额外信息。
关于已删除的文件,我知道可以通过查看文件来获取,但是有什么方法可以更新某个文件夹中的新文件?
小智 5
几个月前,我正在从事类似的项目。您可以执行以下两项操作来监视Google云端硬盘上的更改:
第一种情况向您发送请求,要求您监视要在驱动器上发生的所有事情,而很少有确切更改的信息。
第二种情况是较少的“垃圾邮件”,您可以决定监视哪个文件夹。
但是,更改类型上的标签不正确。当我使用files()。watch()时,我测试了所有用例,并比较了每种用例的标题。
我的结论是:
对于在yourfolder(您的文件夹/ newfile)中创建的新文件(或文件夹),标题包含:'X-Goog-Changed':'properties''X-Goog-Resource-State':'update'
当您将文件移至文件夹时,或开始跟踪文件夹中的现有文件时,该操作相同。
与用户共享时,将得到“ X-Goog-Resource-State”:“ add”
如您所见,标头标记不准确/不唯一。
另外,请注意,推送通知通道不会向您发送对文件夹内文件夹(您的文件夹/文件夹/文件)中文件的请求。并且该渠道将在某个时候到期。
如果您还有任何疑问,或者想知道如何实现代码,请告诉我:)
归档时间: |
|
查看次数: |
1323 次 |
最近记录: |