【问题标题】:Use Google Drive API from Javascript通过 Javascript 使用 Google Drive API
【发布时间】:2017-11-07 09:39:17
【问题描述】:

我想扩展一个项目,使其可以将文件保存到 Google 云端硬盘。为了了解这是如何工作的,我尝试了文档中的快速入门示例:https://developers.google.com/drive/v3/web/quickstart/js

按照示例,我注意到该示例正在开发者控制台中创建一个 API 密钥。遵循相同的步骤只会返回一个客户端密码。我怀疑这是命名问题,希望两者是一样的。

不幸的是,示例代码不起作用,但会记录以下错误:

{"error":{"errors":[{"domain":"usageLimits","reason":"keyInvalid","message":"Bad Request"}],"code":400,"message":"Bad Request"}}

在请求中:

https://content.googleapis.com/discovery/v1/apis/drive/v3/rest?pp=0&fields=kind%2Cname%2Cversion%2CrootUrl%2CservicePath%2Cresources%2Cparameters%2Cmethods%2CbatchPath%2Cid&key=[[my key]]

我检查了请求 url 中是否显示了正确的秘密。将var API_KEY = '<YOUR_API_KEY>'; 设置为空字符串是一种解决方法。

如何进一步调试?我在哪里可以获得正确的 api 密钥?

【问题讨论】:

  • 找到解决方案了吗?
  • @LeonardoRick 请检查我的回答,如果还不算太晚的话

标签: javascript google-drive-api google-developers-console


【解决方案1】:

我最近遇到了这个错误。可以肯定的是,Google 文档通常非常好,但在这种情况下,Google Drive API (https://developers.google.com/drive/api/v3/quickstart/js) 并不是那么清楚。特别是对于此 API,您将需要两个凭据。

在您的项目凭据部分下,您必须为 Web 应用程序创建一个 OAuth 2.0 客户端和一个 API Key

(抱歉截图中的西班牙语)

关于OAuth 2.0 客户端,并不是我将其限制为http://localhost

关于API Key请注意,我已将其限制为我的 Google Drive API

然后,在文档提供的index.html中,你可以将你的CLIENT_ID设置为OAuth 2.0客户端生成的那个,API_KEY设置为API Key进程生成的那个.

【讨论】:

    【解决方案2】:

    {"error":{"errors":[{"domain":"usageLimits","re​​ason":"keyInvalid","message":"Bad Request"}],"code":400,"message ":"错误请求"}}

    表示您发出的请求没有经过适当的身份验证。

    API 密钥用于访问公共数据。 Oauth2 客户端 ID 和密码将用于访问 file.list 所在的私有用户数据。所以我不认为这是一个命名问题。您的代码应该会弹出请求用户访问权限。

    【讨论】:

    • 不幸的是它没有请求访问。在加载弹出窗口之前代码失败。我完全按照快速入门进行了仔细检查。
    猜你喜欢
    • 1970-01-01
    • 2020-09-27
    • 2016-10-18
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    相关资源
    最近更新 更多