【问题标题】:Getting error 401 using Google API documents to get/read it's data使用 Google API 文档获取/读取数据时出现错误 401
【发布时间】:2020-05-05 23:35:28
【问题描述】:

我使用此链接读取/获取 Google docs 文档的数据。

注意:出于安全原因,我更改了文档 ID 和 API 密钥。

我使用的网址

https://docs.googleapis.com/v1/documents/1oGPxB3BFf9XSAfe23lqY7OzYkn9_xvXaOQCGjBZEHmS4RSr21Y?key=AIzaSyDk5yXM8zFfg7KIgercswedLYD1bZO6zBue2tO0fk

我遇到的错误

{
  "error": {
    "code": 401,
    "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}

【问题讨论】:

    标签: google-api google-docs-api


    【解决方案1】:

    { “错误”: { “代码”:401, "message": "请求缺少所需的身份验证凭据。需要 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。请参阅https://developers.google.com/identity/sign-in/web/devconsole-project。", “状态”:“未经身份验证” } }

    表示你调用的方法需要授权,而你的调用没有经过身份验证。

    如果您查看document.get 的文档

    你会看到这个方法需要授权才能访问

    必须使用授权标头访问需要授权的方法。

    API 密钥用于访问公共数据。如果这是您自己的文件并且您只会访问该文件,那么我建议您考虑使用服务帐户服务帐户可以被预先授权以允许您访问它们而无需用户授予您的应用程序访问权限。

    如果这是您的应用程序用户拥有的文件,您将需要使用 OAuth2 并请求该用户的访问权限。

    【讨论】:

      【解决方案2】:

      很遗憾,在当前阶段,API 密钥无法使用 Google Docs API。即使是 GET 方法,也会发生此类错误。我认为这是当前的规范。那么下面的变通方法呢?

      1。使用访问令牌。

      请使用由 OAuth2 和服务帐户检索到的访问令牌。这样,就可以使用 Docs API。我认为这是谷歌方面推荐的方式。

      2。使用网络应用程序。

      此外,您可以使用由 Google Apps 脚本创建的 Web 应用程序作为 API 来实现您的目标。在这种情况下,您可以在没有访问令牌的情况下访问 Web 应用程序。此外,您还可以使用唯一密钥访问它。

      注意:

      • Docs API 现在正在增长。所以这可能会在未来的更新中得到解决。但是在当前阶段,例如,您可以向问题跟踪器请求这个作为未来的请求。 Ref

      参考资料:

      【讨论】:

        猜你喜欢
        • 2020-12-07
        • 2021-09-24
        • 2017-01-17
        • 2022-08-20
        • 2022-11-07
        • 1970-01-01
        • 2020-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多