【问题标题】:Google Calendar API - Insufficient permissionGoogle Calendar API - 权限不足
【发布时间】:2021-05-23 06:14:00
【问题描述】:

当我尝试将事件添加到我的日历时收到以下错误。

 {
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "Insufficient Permission",
    "reason" : "insufficientPermissions"
  } ],
  "message" : "Request had insufficient authentication scopes.",
  "status" : "PERMISSION_DENIED"
}

我设置了以下权限:

Google Calendar API .../auth/calendar   See, edit, share, and permanently delete all the calendars you can access using Google Calendar 
Google Calendar API .../auth/calendar.events    View and edit events on all your calendars  
Google Calendar API .../auth/calendar.events.owned  See, create, change, and delete events on Google calendars you own

我能做错什么?我的项目中还应该设置什么?

【问题讨论】:

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


    【解决方案1】:

    Google 日历 API events.insert 方法需要以下范围之一才能工作。

    这意味着当您的应用程序运行时,必须向用户显示授权同意窗口,他们将同意您的应用程序有权写入他们的日历。

    以下错误消息表示您的应用程序已运行并且用户同意范围不够高,无法授予您使用 event.insert 方法的访问权限。您可能已经运行了您的应用程序并且只同意用户阅读范围。这不足以让应用程序运行然后能够插入事件

    {
      "code" : 403,
      "errors" : [ {
        "domain" : "global",
        "message" : "Insufficient Permission",
        "reason" : "insufficientPermissions"
      } ],
      "message" : "Request had insufficient authentication scopes.",
      "status" : "PERMISSION_DENIED"
    }
    

    大多数情况下,问题是应用程序运行一次并请求了一个范围,然后开发该应用程序的开发人员更改了范围,而忽略了强制应用程序再次请求用户授权。每次更改范围时,您都需要记住强制应用再次向用户显示同意屏幕,以便他们可以同意应用所需的范围。

    应该有一种方法可以在您的应用程序中重置授权,但是由于您没有发布您的代码,或者您使用的是什么语言,我很难告诉您如何做到这一点。

    如果您转到security,您可以直接在您的谷歌帐户中撤销您的应用程序的访问权限,然后它会强制它再次请求授权。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-02
      • 2015-04-24
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多