我正在尝试通过CLI访问Google云端硬盘,但不断获取“未授权请求范围”

时间:2014-06-18 19:22:16

标签: google-drive-api

我以前运行的脚本会备份各种文件并将它们放入我的GDrive中。简单的bash,真的。通过“将它们放入GDrive”我的意思是将文件简单地移动到〜/ Google Drive /将由我的笔记本电脑接收。

我正在尝试构建一个类似的应用,将某些文件上传到我的Google云端硬盘。它应该由我启动,保存auth详细信息然后开始上传。这也必须从命令行运行。但是,没有Google Drive客户端可以获取文件。我必须自己上传文件。

目前,我在使用OAuth2程序时遇到问题。我已经在cloud.google.com上设置了一个项目,我已经准备好了密钥,图书馆,并设置了范围,但谷歌一直拒绝我的请求。我已经启用了Drive API和Drive SDK。

我得到的错误是:

{
  "error" : "invalid_scope",
  "error_description" : "Not authorized to request the scopes: [https://www.googleapis.com/auth/drive]",
  "error_uri" : "http://code.google.com/apis/accounts/docs/OAuth2.html"
}

无论我尝试什么,我都无法使这个范围发挥作用。其他范围工作正常。试图找到可能导致这种情况的原因是不可能的,我试过的谷歌搜索是混乱的。

这些是我要求的范围:

https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile

我错过了什么?

2 个答案:

答案 0 :(得分:3)

我设法使用以下范围而不是https://www.googleapis.com/auth/drive来访问:

<强> https://docs.google.com/feeds

从手册:

  

访问所有用户文件的完整,允许的范围。请求这个   范围仅在严格必要时。带范围的令牌   https://docs.google.com/feeds被接受并被视为同等对待   范围为https://www.googleapis.com/auth/drive的令牌。

我试了一下,然后才有效。

答案 1 :(得分:0)

您确定为Google Drive API,Drive SDK,Google +启用了API吗?您必须这样做才能使用Google Developer Console

中的那些范围