You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Google Drive Push Notification API获取Google Sheets变更数据?

Google Sheets变更内容获取操作步骤

Google Drive Push Notification API本身仅推送变更发生的通知,不会携带具体变更数据,你可以按以下步骤操作获取新增行内容:

  • 第一步:提前获取并存储变更起始标记
    首次启动监听前,调用GET https://www.googleapis.com/drive/v3/changes/startPageToken接口获取初始pageToken,存储到你的服务端,每次处理完变更后都要更新这个标记。
  • 第二步:收到推送后拉取变更列表
    当收到资源状态为changed的推送通知时,调用GET https://www.googleapis.com/drive/v3/changes接口,请求参数携带你本地存储的上一次pageToken,按需添加includeItemsFromAllDrives=true、supportsAllDrives=true(适配共享盘场景)、fields=changes/fileId,changes/file/name,nextPageToken等字段过滤参数,返回结果中找到你要监听的Google Sheets对应的文件ID的变更记录。
  • 第三步:获取表格具体变更内容
    定位到对应表格的变更后,调用Google Sheets API的GET https://sheets.googleapis.com/v4/spreadsheets/{你的表格ID}/values/{监听范围,例如Sheet1!A:Z}拉取最新表格数据,和你本地缓存的上一次表格数据做对比,即可定位到新增的行内容。
    如果想要优化性能,可以在表格中新增自增ID、创建时间类的标识列,每次拉取时只查询大于你上次记录的最大ID/最晚创建时间的行,无需每次拉取全量对比
  • 第四步:更新本地存储内容
    本次变更处理完成后,将变更接口返回的nextPageToken更新到本地存储,同时更新缓存的表格最新数据,用于下一次变更对比。

注意事项

  • 你调用watch接口创建的推送通道默认最长有效期为1小时,需要在通道过期前重新调用watch接口续期,避免推送中断
  • 推送通知存在重复投递的可能,你可以通过请求头中的X-Goog-Message-Number做幂等处理,避免重复处理同一变更

内容的提问来源于stack exchange,提问作者Liton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 23:27:07