我以前运行的脚本会备份各种文件并将它们放入我的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
我错过了什么?
答案 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
中的那些范围