【问题标题】:Still possible to use Google Calendar API with API Key?仍然可以使用带有 API 密钥的 Google Calendar API 吗?
【发布时间】:2021-09-30 05:22:08
【问题描述】:

Google Calendar API 的当前版本似乎是 v3,过去我相信它支持 OAuth 和用于 JavaScript/浏览器实现的简单 API 密钥。

截至 2017 年 2 月 2 日:是否仍可以通过 API 密钥使用 Google 日历 API,或者要求对 API 的任何访问(甚至访问公共日历)都必须通过 OAuth2.0?

根据 Google Calendar API,“您的应用程序必须使用 OAuth 2.0 来授权请求​​”(https://developers.google.com/google-apps/calendar/auth),但我的 API 请求是打开一个公共日历并且不需要登录,因为没有任何数据是私人的。

【问题讨论】:

  • 那么您是如何解决这个问题的?

标签: api oauth calendar google-api google-calendar-api


【解决方案1】:

好吧,Google 日历现在似乎需要一个授权令牌来访问它自己的 API。在他们的documentation 中声明,您的应用程序发送到 Google 日历 API 的每个请求都必须包含授权令牌。该令牌还会向 Google 识别您的应用程序。

我在此question 中发现您无法使用 API 密钥访问您的日历信息。 API 密钥(或简单的 API 访问密钥)不是授权令牌,只能用于某些 API 调用,例如 Google 搜索查询等; API 密钥不会让您访问任何用户特定的数据,我假设这是您通过此日历应用程序的目标。

我尝试使用 API 密钥访问 Google 日历请求,但收到错误 401 "Login Required"

https://www.googleapis.com/calendar/v3/users/me/calendarList/primary?key=YOUR_API_KEY

为了验证 API_KEY 是否存在问题,我尝试在 Google 地图请求中使用它。

https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap

我在这里得到了成功的回应。

希望这些信息对您有所帮助。

【讨论】:

  • Oauth 版本 1 能否支持 Google Calendar API?
【解决方案2】:

您可以使用带有 url 的 GET 方法访问日历事件列表:

https://www.googleapis.com/calendar/v3/calendars/[CALENDAR_PUBLIC_ID]/events&key=[YOUR_API_KEY]

您还可以根据文档https://developers.google.com/calendar/api/v3/reference/events/list添加更多查询参数,例如 maxResult、orderBy 等

【讨论】:

猜你喜欢
  • 2015-10-04
  • 2020-10-13
  • 2020-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多