【问题标题】:How to not detect opening of files and folders in google drive changes api如何在 google drive changes api 中不检测文件和文件夹的打开
【发布时间】:2021-06-30 15:04:36
【问题描述】:
我正在使用 google drive api 构建一个 expressjs 应用程序,每当他们的 google drive 通过 webhook 发生文件更改时通知用户。但是,当我打开/查看文件夹或文件时,我也会收到 webhook,这是完全没有必要的。是否可以仅在驱动器中创建或删除新文件时才接收 webhook?如果是这样,我该怎么做?
【问题讨论】:
标签:
google-drive-api
google-api-nodejs-client
【解决方案1】:
遗憾的是没有直接的方法。
一旦您的应用收到更改通知,您可能需要再次提出请求。您可能需要保留一些数据以进行比较,具体取决于您需要做什么。如您所见,监视端点将通知您几乎所有更改,包括视图。所以你需要找到一种方法来过滤掉这些。
如果您仅尝试获取创建/删除时间,那么我建议您从更改通知中获取文件 ID 并请求获取文件元数据并查看文件是否在最近 5 分钟(或更短时间)内创建) 例如。例如,您可以通过仅获取 createdTime 字段来加快此过程。
对于已删除,您可以直接从更改通知中获取更改类型,但这只会在您将其永久删除(即不在垃圾箱中)时通知您。垃圾事件看起来和其他事件一样。如果您需要垃圾通知,它将更加复杂。有一个 trashed 属性,但没有它的时间戳。如果您需要这个,那么您可能必须保留哪些文件被丢弃的快照,然后每次收到请求时,检查更改的文件现在是否被丢弃。
对此有一个有效的功能请求
去给它一个 ☆ 让 Google 知道你想要这个功能!