【问题标题】: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 属性,但没有它的时间戳。如果您需要这个,那么您可能必须保留哪些文件被丢弃的快照,然后每次收到请求时,检查更改的文件现在是否被丢弃。

对此有一个有效的功能请求

Support event type filtering for Changes watch channel

去给它一个 ☆ 让 Google 知道你想要这个功能!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多