【问题标题】:Google Calendar API - What should be value for ETag?Google Calendar API - ETag 应该有什么价值?
【发布时间】:2022-01-27 06:42:38
【问题描述】:

根据documentation

ETag(或实体标签)HTTP 响应标头是一个标识符 资源的特定版本。它让缓存更高效 节省带宽,因为 Web 服务器不需要重新发送完整的 如果内容未更改,则响应。此外,etags 有助于 防止同时更新资源覆盖每个资源 其他。

我正在尝试使用 Google 日历 API 在事件中添加 ETag,但不清楚使用情况,

  • 价值应该是什么?
  • 任何特定格式?
  • ETag 值应该对所有事件都相同还是应因事件而异?
  • ETag 值应该对于日历中的所有事件都相同,还是应按日历更改日历?

【问题讨论】:

  • ETag 由后端服务器软件添加。您无权访问日历后端,因此无法将 ETag 标头添加到 HTTP 响应流。
  • @JohnHanley 谢谢你的评论。如果我们查看 Google 文档 - developers.google.com/calendar/api/v3/reference/calendars,我们会注意到它允许传递用户生成的 ETag。
  • @Sagar 实际上如果你看起来 Etag 是不可写的。
  • @DaImTo 是的,它是只读的。谢谢。

标签: google-api google-calendar-api google-workspace etag


【解决方案1】:

许多 Google 日历对象的响应中返回的 Etag 只是一个标识符,由服务器在上次更改响应中的数据时创建。

因此,如果您调用 event.get 并返回一个包含 etag 的事件对象。下次你再次调用时,你会再次得到一个包含 etag 的事件对象。如果 etag 与您之前的 etag 相同,则您知道自上次检查以来数据没有更改。

话虽如此,您不会创建 etag。只有服务器可以。您也无法写入 Etag。如果您检查calendar object,您会注意到描述是可写的,etag 不是。因此,如果您尝试插入一个新日历并为 Etag 发送一个值,您将得到一个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    相关资源
    最近更新 更多