Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从谷歌游乐场获取访问令牌以测试项目_Javascript_Node.js_Json_Google Drive Api - Fatal编程技术网

Javascript 从谷歌游乐场获取访问令牌以测试项目

Javascript 从谷歌游乐场获取访问令牌以测试项目,javascript,node.js,json,google-drive-api,Javascript,Node.js,Json,Google Drive Api,对于我用node js编写的Google project应用程序,我需要有客户端访问权限才能将文件上传到他的驱动器中。在测试代码时,驱动器中没有显示任何文件。这可能是因为我用我的服务帐户运行这件事。所以我所做的是:由于我有一个客户端ID(带有我的电子邮件等)和我用google创建的密钥,我上传了包含这些信息的json: { "web": { "project_id":"", "private_key_id": "",

对于我用node js编写的Google project应用程序,我需要有客户端访问权限才能将文件上传到他的驱动器中。在测试代码时,驱动器中没有显示任何文件。这可能是因为我用我的服务帐户运行这件事。所以我所做的是:由于我有一个客户端ID(带有我的电子邮件等)和我用google创建的密钥,我上传了包含这些信息的json:

    {
    "web": 
    {   
        "project_id":"",
        "private_key_id": "",
        "private_key": "-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----\n",
        "client_email": "",
        "client_id":"",
        "auth_uri":"https://accounts.google.com/o/oauth2/auth",
        "token_uri":"https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
        "client_secret":"",
        "redirect_uris":["https://developers.google.com/oauthplayground"]
        }
    }
显然,在我的代码中,空格不是空的。 我还在google控制台中处理客户端API访问,并将客户端与驱动器API应用程序一起添加。 在终端中运行时,终端中出现以下错误: “错误:未设置密钥或密钥文件。” 谢谢在我的js中,我可以访问api和包含必要信息的keys.json文件

  • 如果您想使用服务帐户将文件上载到您的/a用户驱动器-您需要向服务帐户提供a)访问您的/a用户驱动器的范围(意味着域范围的委派)和b)文件的读取权限或启用权限,以便它代表您的/a用户
  • 如果您想在没有服务帐户的情况下测试方法(例如上载文件),我建议您使用
  • 如果您想使用自己的凭据而不是服务帐户测试代码,则身份验证过程以及所需的credentials.json文件的内容将有所不同。您需要遵守中概述的过程和授权流程-您可以通过单击quickstart文档中的“启用驱动器API”按钮直接下载正确的凭据文件。当您(而不是服务帐户)运行代码时,正确的credentials.json文件如下所示:

  • 只有服务帐户才需要私钥(和密钥Id)。

    谢谢!这很有帮助,我使用了第三种方法,效果非常好。
    {
    "installed":{
      "client_id":"XXX.apps.googleusercontent.com",
      "project_id":"XXX",
      "auth_uri":"https://accounts.google.com/o/oauth2/auth",
      "token_uri":"https://oauth2.googleapis.com/token",
      "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
      "client_secret":"XXX",
      "redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]
      }
    }