Google Calendar API - 只能更新事件一次

2023-12-23

我遇到了与这篇文章中描述的相同的问题:

Google Calendar api v3 重新更新问题 https://stackoverflow.com/questions/8574088/google-calendar-api-v3-re-update-issue

也就是说,一旦我创建了一个事件并使用 Google Calendar API (v3) 更新了一次,我就无法再更新该事件了。当我尝试这样做时,我收到 400 - 无效值响应。 (FWIW 我正在 PHP 中工作)。

按照我上面引用的帖子中提供的线索,我尝试使用 etag 来解决该问题(尽管不可否认,我对它们如何工作的理解是有限的)。基本上,在事件更新时,API 在其响应中返回一个 etag,我现在将其保存在数据库中。然后,对于后续 (n > 1) 更新,我从数据库中提取当前 etag 并将其包含在 http 标头中:

Content-Type:  application/json
Authorization:  OAuth [token]
If-Match: [etag]

以下是“更新条目”标题下的信息:http://code.google.com/apis/gdata/docs/2.0/reference.html#ResourceVersioning http://code.google.com/apis/gdata/docs/2.0/reference.html#ResourceVersioning

旁注:在上面的谷歌参考中,If-Match 标头显示为

If-Match: "S0wCTlpIIip7ImA0X0QI"

etag 周围加双引号。我用双引号将 etag 保存在数据库中,与我在第一次更新响应中收到的 etag 完全相同。使用curl_setopt/HTTPHEADER 添加到标头时是否需要转义引号或其他内容?

尽管实现了这个 etag If-Match 的东西,我仍然得到相同的 400 - 无效值响应。我知道我的请求正文是有效的,因为第一次更新工作正常。后续更新还存在一些其他问题。

非常感谢任何帮助。


确保在更新事件时增加序列号字段。

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

Google Calendar API - 只能更新事件一次 的相关文章

随机推荐

  • 在 django 中为 matplotlib 图像创建 HTML 包装器

    我想将 python 生成的 matplotlib 图像嵌入到 django 生成的 HTML 页面中 我对 django 比较陌生 一直在努力让它发挥作用 我可以在网页上单独成功生成 matplotlib 图像 但无法嵌入到 HTML 页
  • VS Code 未显示有用的 Python 代码片段

    Visual Studio Code 不再显示 Python 代码片段 我不知道这是 Python Language Server 的 bug 我已经尝试过 Jedi Microsoft 和 Pylance 还是 VSCode 的问题 它用
  • Facebook Sharer 问题(每个单词后面总是显示 (+) 和 (%))

    我想问一下如何解决我的 Facebook 共享器问题 每当我想通过 Facebook 分享器分享我的文章时 它都会弹出 Facebook 窗口 这完全没问题 但在窗口中 每个单词后面都会显示加号 和 你们能帮我吗 您可以在我的网站上查看 h
  • Linq to SQL,基于 If/Else 具有不同返回类型的存储过程

    我有一个现有的存储过程 我现在尝试使用 LINQ to SQL 调用它 这是存储过程 ALTER procedure dbo sp SELECT Security ALL UID Varchar 15 as DECLARE A ID int
  • Analytics.js 的 SegmentIO 开源版本设置问题

    我正在从 SegmentIO 切换到他们的开源版本 我用过这个博客文章 http pivotallabs com how to use analytics js to fix your analytics code and achieve
  • Lightsail 中没有 Amazon Linux 2?

    尝试在 AWS Lightsail 上创建新实例时 只有适用于 AWS Linux 2018 03 0 的选项 而没有适用于 AWS Linux 2 的选项 鉴于 AWS Linux 将于 2020 年 12 月终止支持 我有点担心在 Li
  • 在 Docker 中运行 Jenkins - 立即退出

    我正在尝试使用 docker 运行 Jenkins 服务器 我已经构建了图像 并尝试使用以下命令运行它 docker run p 8080 8080 62a4e44bf4bf 62a4e44bf4bf 是 docker 镜像 ID 每当我运
  • SQL Server Reporting Services url 参数不起作用

    我无法正确地将参数传递到 SQL Server 报告服务器 显示报表页面 但报表查看器 Web 部件的参数提示仍然为空 并且没有运行任何内容 以下网址将我带到正确的报告页面 我可以在其中手动选择参数 然后单击 查看报告 按钮并获取报告 ht
  • localStorage 的设置值有副作用吗?

    我正在开发一个必须保存的 React Redux 应用程序certain值从商店到localStorage 我有一些实用功能 可以安全地将值存储到localStorage 我有一个动作 thunk 和减速器 const wallet sta
  • Express.js 项目中在哪里进行验证 – 数据库层验证(re. Mongoose)?

    我正在 Express js 中编写一个带有表单的应用程序 首先 我在路由 或控制器 如果您愿意的话 中进行所有验证 app post register function req res next Generic validation re
  • Cordova / Phonegap 所有外部 Ajax 请求返回 404

    我确实有一个 Cordova 3 3 应用程序 但昨天我将 cordova 和所有应用程序插件更新为 apache cordova v5 0 自从我这样做以来 我放置了一个闪屏插件并毫无问题地构建了我的应用程序 但是当我尝试测试时 我看到所
  • HTML5 Canvas 绘制像素的颜色与提供的颜色不同

    设置某种颜色后fillStyle画布并绘制一个矩形fillRect 矩形的颜色有时与提供的颜色略有不同 getImageData返回不同的值 通常其中一个值小 1 似乎只有在使用时才会发生rgba颜色 而不是与rgb 但我实际上确实需要使用
  • JBoss 5 上的 RESTEasy - 需要 jar

    我们正在运行 JBoss 5 1 0 我正在尝试使用 RESTEasy 启动并运行一个简单的测试应用程序 但是 我无法弄清楚我需要什么才能做到这一点 显然新版本的 JBoss 已经包含了所有内容 但这对我没有帮助 据我了解 我需要修改应用程
  • 如何使用宏将字符串转换为变量名?

    define TRACE arg1 char arg1 int main void int a 4 TRACE Hello a convert Hello to a valid char variable name return 0 我在转
  • BeautifulSoup:获取特定表的内容

    我当地的机场 http www iaa gov il Rashat he IL Airports BenGurion informationForTravelers OnlineFlights aspx flightsType arr可耻地
  • 重新编译 Heroku slug,无需推送或更改配置

    我想知道是否有一种方法可以强制 Heroku 重新编译 slug 而不需要推送新的提交和 或更新配置变量 我为什么要这样做 我在 Heroku 上使用 Cedar 堆栈作为 Rails 3 2 应用程序 但在使用时遇到问题rake asse
  • 加载 Keras 模型时未知的初始化程序:GlorotUniform

    我通过 google colab 训练了我的 CNN VGG 并生成了 h5 文件 现在的问题是 我可以通过 google colab 成功预测我的输出 但是当我下载 h5 训练模型文件并尝试在我的笔记本电脑上预测输出时 我在加载模型时遇到
  • 尽管安装成功但无法识别节点

    我试着跑nodejs在全新安装的Windows 7的 这就是我所做的 使用 Windows 安装程序安装节点 确保文件被提取到C Program Files x86 nodejs 确保我的 Path 环境变量包含C Program File
  • Apache C++ 模块持久全局对象

    我希望在 Apache C 模块中保持一些全局对象在 Apache 子进程调用中保持不变 我该怎么做呢 您必须使用 Apache 进程外部的某种形式的存储 基本选择 一个数据库 共享内存 取决于操作系统 另一个进程并使用IPC机制 例如套接
  • Google Calendar API - 只能更新事件一次

    我遇到了与这篇文章中描述的相同的问题 Google Calendar api v3 重新更新问题 https stackoverflow com questions 8574088 google calendar api v3 re upd