如何解决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 的响应?如果没有详细信息,很难说更多。我不知道您使用的是哪种语言。
- 尝试使用供应商库来解决这个问题:
a) https://packagist.org/packages/google/apiclient(用于 PHP)
b) https://www.npmjs.com/package/google-calendar(用于 JavaScript)
和/或
- 尝试使用替代端点:
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。