【问题标题】:Google Calendar API : "Backend Error" code 503Google 日历 API:“后端错误”代码 503
【发布时间】:2015-06-16 06:02:35
【问题描述】:

当我使用 Google 日历 API 创建新日历时,我随机收到“后端错误”。你知道为什么吗?你有没有遇到过同样的行为?

第一个请求:

POST https://www.googleapis.com/calendar/v3/calendars 授权: 承载 ya29.UQEd-xxx 内容类型:应用程序/json;字符集=utf-8

{"summary":"我的新日历名称"}

谷歌回答(大约 20 秒后):

{ "error": { "errors": [ { "domain": "global", "reason": “后端错误”,“消息”:“后端错误”}]“代码”:503,“消息”: “后端错误”} }

日历未创建

另一个请求:

POST https://www.googleapis.com/calendar/v3/calendars 授权: 承载 ya29.UQEd-yyy 内容类型:应用程序/json;字符集=utf-8

{"summary":"我的新日历名称"}

Google 回答(大约 5 秒后):200 日历已创建

【问题讨论】:

  • 当您尝试使用日历 API 创建日历时,第一次得到 503,后来成功了?您是否尝试在两个请求中为同一个项目创建日历?
  • 它成功有时:有时在第一次请求时,有时在同一个项目中几次尝试后。

标签: google-api google-calendar-api


【解决方案1】:

503 Service Unavailable
服务器当前不可用(因为它超载或停机维护)。通常,这是一种临时状态。

503 是有时会发生的标准 HTTP 错误。 Google ops 可能在某处有一个图表显示错误的频率,并且根据他们的优先级可能正在努力修复它。您应该发现错误并让人类有机会重试或实施指数退避。

Google Apps Calendar Resource API Limits and Quotas
对于所有基于时间的错误(每个线程 N 秒最多 N 件事情),尤其是 503 状态代码错误,我们建议您的代码捕获异常,并使用exponential backoff 算法,在重试之前等待一小段延迟通话失败。

【讨论】:

  • 感谢您的回答。它似乎与配额无关(如果是,谷歌应该在回复中给出提示......)。当错误发生时,人类会为下一步做出决定。 (后端连重试的机会都没有,20秒已经是很长的反馈时间了)
  • 我从来没有说过它与配额相关,这只是谷歌引用指数退避的页面。
【解决方案2】:

https://twitter.com/googlecalendar/with_replies 是的,谷歌日历服务目前不可用。推特确认。

【讨论】:

  • 谢谢,但我的问题是 4 年前的问题;)
  • 虽然 SO 通常不是我查找当前中断新闻的地方,但这是我从搜索中找到的地方,而且很明显,这条新闻正是我需要知道的——谢谢!
【解决方案3】:

对于将来访问此内容的人,我认为当事件数量过多并且 Google 日历只会阻塞它们时,也会引发 503 错误。我有一个事件在一天内以某种方式重复了 18k 次,而尝试使用 events.listmaxResults 为 1 的事件导致 503 错误。

【讨论】:

    猜你喜欢
    • 2012-11-26
    • 1970-01-01
    • 2013-08-30
    • 2021-07-18
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多