微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google 日历 - API 响应中缺少 SyncToken

如何解决Google 日历 - API 响应中缺少 SyncToken

我在响应中没有看到 nextSyncToken。我按照文档 (https://developers.google.com/calendar/api/guides/sync) 进行操作并使用 nextPagetoken 进行分页,但在最后一页上看不到 nextSyncToken

使用的 API:GET /calendars/primary/events?maxResults=10&singleEvents=true&pagetoken=********

我不知道我是否在这里错过了什么。有人能帮我解决这个问题吗?

解决方法

我从其他答案评论的回复链接中看到,您在请求中使用了 orderBy

这就是 nextSyncToken 没有出现的原因。

如关于 Events: list -> 参数 -> syncToken 的文档所述:

从上一个列表请求结果的最后一页返回的 nextSyncToken 字段中获取的令牌。它使此列表请求的结果仅包含自那时以来已更改的条目。自上一个列表请求以来删除的所有事件将始终在结果集中,并且不允许将 showDeleted 设置为 False。 有几个查询参数不能和nextSyncToken一起指定,以保证客户端状态的一致性。

这些是:

  • iCalUID
  • orderBy
  • privateExtendedProperty
  • q
  • 共享扩展属性
  • timeMin
  • timeMax
  • 更新Min

如果 syncToken 过期,服务器将使用 410 GONE 响应代码进行响应,并且客户端应清除其存储并在没有任何 syncToken 的情况下执行完全同步。 了解有关增量同步的更多信息。 可选的。默认是返回所有条目。

您应该从请求中删除 orderBy 以获取 syncToken

,

您能否提供来自 gcalendar API 的响应?如果没有详细信息,很难说更多。我不知道您使用的是哪种语言。

  1. 尝试使用供应商库来解决这个问题:

a) https://packagist.org/packages/google/apiclient(用于 PHP)

b) https://www.npmjs.com/package/google-calendar(用于 JavaScript)

和/或

  1. 尝试使用替代端点:GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。