Google drive api 驱动器推送消息-通过通知垃圾邮件

Google drive api 驱动器推送消息-通过通知垃圾邮件,google-drive-api,google-apps,google-api-nodejs-client,Google Drive Api,Google Apps,Google Api Nodejs Client,我目前正在开发系统同步文件之间的谷歌驱动器和外部存储。我正在尝试处理推送通知。我已经能够注册并接收它们了。收到每个通知后,我使用适当的端点获取更改列表,并在必要时尝试获取文件的新版本,因此流程如下所示: 使用更改订阅通知。观看 接收一些带有url的推送消息以进行更改 将API与提供的查询一起使用,以获取changes.listendpoint上的更改 筛选在特定时刻后更改的项目 获取文件内容并将其传输到另一个服务 似乎在最初的通知消息之后,谷歌开始滥发新的消息,总是在收到文件之后。我怀疑获取文件

我目前正在开发系统同步文件之间的谷歌驱动器和外部存储。我正在尝试处理推送通知。我已经能够注册并接收它们了。收到每个通知后,我使用适当的端点获取更改列表,并在必要时尝试获取文件的新版本,因此流程如下所示:

  • 使用
    更改订阅通知。观看
  • 接收一些带有url的推送消息以进行更改
  • 将API与提供的查询一起使用,以获取
    changes.list
    endpoint上的更改
  • 筛选在特定时刻后更改的项目
  • 获取文件内容并将其传输到另一个服务
  • 似乎在最初的通知消息之后,谷歌开始滥发新的消息,总是在收到文件之后。我怀疑获取文件内容的操作正在更改文件上的某个时间戳,因此-其内容被更改

    在获取文件内容时,是否可以不以任何方式修改文件

    编辑:


    这种行为似乎与files.export端点有关——将Google文档导出为PDF也会导致垃圾邮件通知。注释掉代码中的导出部分会阻止它们的出现。

    您会收到垃圾邮件,因为它更多地侦听用户所做的更改,而不是文件本身


    在此场景中需要使用的是。它订阅您收听对文件本身的更改。

    我100%确定这些更新的原因是获取文件。我检查了通知消息——每个消息都描述了完全相同的更改,如果我只注释掉文件获取部分——我在每个文件更改后只收到一个通知,正如预期的那样。监视更改是可行的解决方案,但获取文件是一个有问题的部分。