Google Calendar API中的“keyExpired”

时间:2013-01-18 17:00:17

标签: jquery api calendar key gcal

从今天开始,我的网站与我的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 key的固定时间。我没有超过每日配额。

对不起我的英语水平。

感谢。

1 个答案:

答案 0 :(得分:1)

OAuth 1.0流程触发了keyExpired事件:

  

如果用户批准了您的应用程序的访问请求,Google会发出授权请求令牌。每个请求令牌仅在一小时内有效。只有授权的请求令牌才能被替换为访问令牌,并且每次授权的请求令牌只能进行一次此交换。

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

  

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

     

用户已撤销访问权限。

     

令牌已经使用了六个月。

     

用户更改了密码,该令牌包含Gmail,日历,通讯录或环聊范围。

     

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

<强>参考