从今天开始,我的网站与我的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的固定时间。我没有超过每日配额。
对不起我的英语水平。
感谢。
答案 0 :(得分:1)
OAuth 1.0流程触发了keyExpired事件:
如果用户批准了您的应用程序的访问请求,Google会发出授权请求令牌。每个请求令牌仅在一小时内有效。只有授权的请求令牌才能被替换为访问令牌,并且每次授权的请求令牌只能进行一次此交换。
OAuth 2.0有不同的过期触发器,不是基于时间的。
您应该编写代码以预测授予的令牌可能不再有效的可能性。由于以下原因之一,令牌可能会停止工作:
用户已撤销访问权限。
令牌已经使用了六个月。
用户更改了密码,该令牌包含Gmail,日历,通讯录或环聊范围。
用户帐户已超过一定数量的令牌请求。
<强>参考强>