Google Drive 正在监视新文件

2024-04-30

我正在考虑使用 Google Drive 推送通知来取代我们当前的拉取流程。 我开始玩它,但我有两个主要问题:

观察变化:

当监视驱动器更改时,我会收到包含新更改 ID 的通知。但是当我尝试使用driveService.changes().get(changeId)查询它时,我间歇性地得到404。我在这里做错了什么吗?

观看文件:

当监视文件更改时,如果是文件夹,我想了解添加到该文件夹​​的新文件,因此我希望从该文件夹添加/删除文件时,“x-goog-resource-state”将保留“添加/删除”值,而“x-goog-changed”将包含“孩子”。

实际上,“x-goog-changed”确实包含“children”,但“x-goog-resource-state”始终是“update”,并且没有有关添加/删除文件的额外信息。

关于已删除的文件,我知道一旦拥有该文件就可以通过观看该文件来获取它,但是有没有办法可以更新某个文件夹中的新文件?


几个月前我正在做一个类似的项目。您可以执行以下两种操作来监控 Google 云端硬盘上的更改:

  1. 使用以下命令设置通知推送:changes().watch()
  2. 使用以下命令设置通知推送:files().watch()

第一种情况向您发送一个请求,询问您正在监视的驱动器上发生的所有情况,但关于到底发生了什么变化的信息很少。

第二种情况是“垃圾邮件”较少,您可以决定要监视哪个文件夹。

但是,更改类型上的标签并不准确。当我使用 files().watch() 时,我测试了所有用例,并比较了每个用例的标题。

我的结论是:

对于在 yourfolder (yourfolder/newfile) 内创建新文件(或文件夹),标头包含: “X-Goog-Changed”:“属性” 'X-Goog-资源状态': '更新'

当您将文件移动到文件夹中或开始关注文件夹中的现有文件时,这都是一样的。

当您与用户共享时,您会得到 'X-Goog-Resource-State': 'add'

如您所见,标题标签不准确/唯一。

另请注意,推送通知通道不会向您发送对您的文件夹内的文件夹(您的文件夹/文件夹/文件)内的文件的请求。并且该通道将在某个时候到期。

如果您还有任何疑问,或者想知道如何实现代码,请告诉我:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Drive 正在监视新文件 的相关文章

随机推荐

  • 在 WSL2 中通过 IDE 连接到 kafka 服务器时出错

    我无法通过在 Windows 上运行的 intellij 或 vscode 连接到在 ubuntu 上运行的 kafka 服务器 我在 WSL2 上尝试的第一个服务器 我什至尝试使用虚拟机的IP 但没有成功 据我了解 我们应该能够根据此文档
  • 如何更改 Oracle 云实例的公钥?

    我不小心删除了我的公钥和私钥 并且由于无法恢复密钥 并且在任何地方都没有备份 而不得不生成新的 SSH 密钥 如何更改 Oracle Cloud 实例的公共 SSH 密钥 终止实例并重新创建它不是一个选择 我尝试在网上查找但找不到太多内容
  • 何时处置 CancellationTokenSource?

    班上CancellationTokenSource是一次性的 快速查看 Reflector 证明了KernelEvent 很可能 非托管资源 自从CancellationTokenSource没有终结器 如果我们不处理它 GC就不会这样做
  • 以编程方式创建标签[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是一名 iPhone 开发新手 我想以编程方式创建一个 UILabel 并且我想了解 UILabel 类的所有属性和功能 UILab
  • Cocoapods 彻底崩溃

    首先 我正在使用 Cocoapods 0 37 2 XCode 6 3 1 为 iOS 8 3 进行编译 在我运行基本的 pod update 之前 我的项目运行得很好 现在它完全拒绝编译 我非常肯定这与豆荚本身无关 具体来说 我收到的错误
  • Spring - 属性“name”不允许出现在元素“constructor-arg”中

    我在程序中使用 hsqldb 作为数据库 我想通过 spring 注入构造函数值 这是我的豆子
  • Symfony 从控制器设置块内容

    有没有办法在 Symfony 的控制器中设置模板块内容 有没有办法在控制器中执行类似的操作 this gt get templating gt setBlockContent page title page title 我需要动态设置页面标
  • Python:文本覆盖在所有窗口顶部,包括 Linux 中的全屏

    我正在尝试用 python 编写一个简单的脚本 在所有窗口和全屏应用程序之上输出文本 该脚本的目的是以类似于 Steam FPS 计数器工作方式的方式输出平均负载和可用内存 以及其他有用的统计数据 到目前为止 我尝试了 pygame 但据我
  • GCM 卷曲操作超时

    我的服务器上存储了几个负责 GCM 操作的 php 文件 它们似乎在需要时工作得很好 但它们经常返回一个错误 指出 卷曲错误 操作在 0 毫秒后超时 0 中的 0 收到的字节数 这是服务器的问题还是我的 GCM 代码的问题 下面是我的 ph
  • “params”和“数组参数”有什么区别以及什么时候应该使用它?

    这两种方法的具体区别是什么 何时使用 params 以及何时使用数组参数 如果能得到答复 我们将不胜感激 passing array to a method class Program static void printarray int
  • Xcode 9、iOS 10 的资产问题

    我在使用 iOS 10 的设备上运行资产和 Xcode 9 beta 时遇到问题 它不会从资产上传任何图像 因此在手机上我看不到任何资产 如果我在故事板中加载图像 它不会在手机上显示任何图像 但它会显示在故事板中 如果我执行以下操作 UII
  • 了解 hibernate @Type 注解

    来自休眠官方文档 http docs jboss org ejb3 app server HibernateAnnotations reference en html single d0e2018 org hibernate annotat
  • 如何将资源添加到现有签名程序集

    鉴于 程序集 例如 SomeLib dll 文本文件 例如 myconfig xml 我需要将文件 myconfig xml 嵌入到现有程序集 SomeLib dll 中 在按 回答 之前请考虑 我知道编译过程中的资源嵌入 csc exe
  • 如何使用php测试服务器是否支持文件上传

    这是我测试 MySQL 的代码 if extension loaded mysqlnd echo mysql supported else echo mysql not supported 如何检查是否允许上传 if ini get fil
  • Flutter iOS 构建错误 - 找不到框架 image_picker

    我已经添加了 v0 8 5 的图像选择器 https pub dev packages image picker我的项目中的库 我已尝试以下方法来解决该问题 Deleted podfile lock Pods folder from iOS
  • 将 FB 开放图操作、对象和聚合从开发应用程序迁移到生产应用程序

    一直在破解 facebook open graph 以将项目发布到用户流 目前我已经使用测试应用程序创建了所有操作 对象 聚合 然而我会希望 a 将其迁移到我们的临时服务器进行测试 b 一旦 a 完成 将其迁移到生产服务器 鉴于每个 FB
  • ngx-leaflet/Angular 2 中具有下拉选择输入的属性绑定映射单击事件

    我有一张带有区域多边形的地图 在地图下方 我有一个下拉选择输入 可以动态读取多边形名称作为选项 当用户单击地图上的区域多边形时 我希望下拉选择输入使用选定的多边形名称 作为 geojson 文件中的 名称 字段存在 进行更新 我认为实现此目
  • Scala 和 Spark:如何浏览图像?

    我有一些图像的二进制文件 我想遍历它们 分配像素 集群的每个节点必须获取与另一个节点的像素不同的一组像素的 RGB 并将这些 RGB 存储到斯卡拉集合 我在用SparkContext binaryFiles但我不知道如何让 Apache S
  • 文件更改时重新启动 Heroku 本地吗?

    看来以 heroku local web 启动的本地服务器不会监视文件更改并自行重新启动 我怎样才能让它做到这一点 最简单的方法是运行 nodemonheroku local作为可执行文件 即nodemon exec heroku loca
  • Google Drive 正在监视新文件

    我正在考虑使用 Google Drive 推送通知来取代我们当前的拉取流程 我开始玩它 但我有两个主要问题 观察变化 当监视驱动器更改时 我会收到包含新更改 ID 的通知 但是当我尝试使用driveService changes get c