【问题标题】:Invalid Credentials for Google Drive APIGoogle Drive API 的凭据无效
【发布时间】:2021-02-25 03:42:46
【问题描述】:

这个周末我开始了一个涉及 Google Drive API 的新项目。我能够使用服务帐户成功查询文件和权限资源。

然后在星期一,没有对我的代码进行任何更改,我开始在每个请求上收到 401 Invalid Credentials。我仍然可以使用相同的服务帐户凭据查询 Admin SDK API。

我正在使用 Python Google API 客户端。我确保在我的 Python 请求中包含 API 文档中列出的所有范围。我已向服务帐户授予域范围的委派以及所有必要的范围。

如果我使用服务帐户或使用OAuth 2.0 并使用管理员用户授予授权,我会收到相同的错误。当我在文档页面(例如https://developers.google.com/drive/api/v3/reference/files/list)上使用 API 资源管理器时,我什至得到了错误。这是我反复得到的回应:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "authError",
    "message": "Invalid Credentials",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Invalid Credentials"
 }
}

我可以尝试其他方法来实现此功能的任何想法?

【问题讨论】:

    标签: google-drive-api


    【解决方案1】:

    Google Drive API documentation 中有一个关于 API 所有可能错误的页面。大家可以看看401这个错误:

    401 错误表示您使用的访问令牌已过期或无效。此错误也可能是由于缺少对请求范围的授权。

    要修复此错误,请使用长期刷新令牌刷新访问令牌。如果失败,请按照Authorizing Your App with Google Drive 中的说明引导用户通过 OAuth 流程。

    所以你需要做的事情的清单:

    另外阅读Oauth2 workflow in Google API 可能会有很大帮助。

    【讨论】:

      【解决方案2】:

      原来有人为我的组织关闭了 Google 云端硬盘。一旦我们启用它,API 调用就会再次开始工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-05
        相关资源
        最近更新 更多