【发布时间】:2019-07-24 18:32:19
【问题描述】:
我正在尝试仅使用我创建的 API Key 插入一个新事件。
问题是,当我只是使用 FreeBusy 检查可用时间时,一切正常,但是当我尝试创建和插入新事件时,出现以下错误:
Uncaught Google_Service_Exception: {
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
在授权对 Google 日历 API 的请求页面中声明:
您的应用程序必须使用 OAuth 2.0 来授权请求。没有别的 支持授权协议。如果您的应用程序使用 Google 登录,为您处理授权的某些方面。
但我无法在每次请求时手动授权访问日历。
如何在无需手动授权的情况下授权请求并插入新事件?
【问题讨论】:
-
如果您阅读文档developers.google.com/calendar/auth 中的其余页面,您会看到一旦用户授权您的应用访问他们的日历,它将向您发出一个令牌,您可以存储和使用用于将来调用 API。
-
@lufc 是的,我知道。问题是 1 小时后令牌过期,我必须通过终端再次手动运行我的代码,这样我才能获得身份验证链接,同意,复制代码,将其粘贴到终端,然后最后刷新令牌.
-
在第一个小时之外使用刷新令牌生成新令牌。见这里
getRefreshToken()github.com/googleapis/google-api-php-client/blob/master/src/…
标签: php google-api google-calendar-api google-oauth