javascript - 通过 api 共享私有(private) Google 日历

标签 javascript google-calendar-api

我正在尝试通过我的节点应用程序访问 Google 上托管的日历,但由于我的日历需要授权,我无法通过给定的 API 查询它。

我该如何禁用此功能/使我的应用程序可以访问日历?

这是我的 API 查询: https://www.googleapis.com/calendar/v3/calendars/heathwallace.com_gpupieshkuc85dd832m9gjrh9g@group.calendar.google.com

这是响应:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}

最佳答案

如果你查看文档 Calendars: get例如:您会注意到它指出

Requires authorization

现在,通常情况下,如果您将某些内容设置为公开,您将能够使用公共(public) API key 检索它。我将其中一个测试日历设置为公开,然后尝试使用公共(public) API key 检索它。 (键和日历名称均已更改)

https://www.googleapis.com/calendar/v3/calendars/[email protected]?key=AIzaSyBBH88dIQPjcl5nIG-n1mmuQ12J7HThDBL

结果是

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}

结论:您必须经过身份验证才能检索数据。使用 OAuth2 或服务帐户。通常,我建议您使用服务帐户并授予其访问相关日历的权限。由于安全问题,我不会使用带有 JavaScript 的服务帐户,因此我无法帮助您。

回答您的问题,您必须经过身份验证才能查看日历。没有办法解决这个问题。

关于javascript - 通过 api 共享私有(private) Google 日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28563940/

相关文章:

android - 无法在 Android 应用程序中集成 Google Calendar API

javascript - 如何使用 JQuery 使用循环插入 JSON 数据中的图像?

android - 在不询问用户的情况下自动在 Android 日历上创建事件?

php - 尝试使用 PHP 从日历中获取事件列表

html - 添加 Google 日历事件的直接链接

java - 解析谷歌日历时SAX解析异常

javascript - 使用 jquery 添加的按钮上的 ng-click() 不起作用

javascript - JS对象按值复制与按引用复制

javascript - 如何在提交时显示图像

javascript - 拖放列表项后获取列表顺序 asp.net c#