Google 日历 API 错误 - "API key not valid. Please pass a valid API key.",

Google Calendar API error - "API key not valid. Please pass a valid API key.",

我从昨天开始收到 google rest api 的错误

{
  "error": {
    "code": 400,
    "message": "API key not valid. Please pass a valid API key.",
    "errors": [
      {
        "message": "API key not valid. Please pass a valid API key.",
        "domain": "global",
        "reason": "badRequest"
      }
    ],
    "status": "INVALID_ARGUMENT"
  }
}

API 终点是: https://www.googleapis.com/calendar/v3/calendars/[CALENDAR_ID]/events?timeMax=2020-06-22T23%3A59%3A59.000%2B06%3A00&timeMin=2020-06-22T00%3A00%3A00.000%2B06%3A00&key=[SECRET_KEY]

headers 是:

"Content-length"    "0"
"Content-Type"  "application/x-www-form-urlencoded"
"Host"  "www.googleapis.com"
"Authorization" "Bearer [APPILCATION_ID]"
"Accept"    "application/json"

我在开发人员控制台中有 oAuth 2.0 客户端 ID。 并发送与 3 个月前相同的请求 可能有什么问题?

API key not valid. Please pass a valid API key.

表示您使用的 api 密钥无效。

转到 Google developers console select 你的项目。

单击左侧菜单中的凭据

单击顶部的 + 创建凭据和 select API 键。

不记名令牌

"Authorization" "Bearer [APPILCATION_ID]"

请注意,发送的不记名令牌应该是有效的未过期访问令牌。不是应用程序 ID。

备注

Api 键用于访问 public 数据,如所有假日日历确保您尝试访问的日历 ID 设置为 public 如果你想能够从中请求数据。

如果这是用户日历,您需要切换到使用 Oauth2 并请求他们授予您访问其数据的权限。

如果这是您自己的日历并且您想允许其他人查看数据,那么您应该考虑使用服务帐户。