6

从今天开始,我的网站与我的 GCal 存在连接问题。(从一个月开始就完美运行)。

我通过 jQuery GET 调用 GCal:

https://www.googleapis.com/calendar/v3/calendars/{MY_CALENDAR}/events?key={MY_API_KEY}

响应是(JSON):

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "keyExpired",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}

我不明白为什么密钥过期。你能帮我吗?我还没有读过关于 api 密钥的固定时间寿命。我没有超过每日配额。

对不起我的英语水平。

谢谢。

4

1 回答 1

1

keyExpired事件由 OAuth 1.0 流程触发

如果用户批准您的应用程序的访问请求,Google 会颁发一个授权的请求令牌。每个请求令牌的有效期仅为一小时。只有授权请求令牌可以交换访问令牌,并且每个授权请求令牌只能进行一次交换。

OAuth 2.0有不同的不基于时间的过期触发器。

您应该编写代码来预测授予的令牌可能不再起作用的可能性。由于以下原因之一,令牌可能会停止工作:

用户已撤销访问权限。

该令牌已六个月未使用。

用户更改了密码,并且令牌包含 Gmail、日历、联系人或环聊范围。

用户帐户已超过一定数量的令牌请求。

参考

于 2014-09-22T23:08:24.530 回答