【发布时间】:2014-09-12 18:59:02
【问题描述】:
我曾经运行一个脚本来备份各种文件并将它们放入我的 GDrive。简单的 bash,真的。通过“将它们放入 GDrive”,我的意思是它可以简单地将文件移动到 ~/Google Drive/,这将被我的笔记本电脑拾取。
我正在尝试构建一个类似的应用程序,它将某些文件上传到我的 Google 云端硬盘。它应该由我启动,保存身份验证详细信息,然后开始上传。这也必须从命令行运行。但是,没有可以获取文件的 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
我错过了什么?
【问题讨论】:
-
在开发者控制台中你是否同时启用了 drive api 和 drive sdk?
-
是的,我已启用 Drive API 和 Drive SDK。
-
你能发布你使用的脚本吗?
-
here it is on GitHub 函数调用了obtainUserCode(),从索引中调用。在任何人调用它之前:不,这不是我的 clientID(从示例中提取)但是是的,我实际上在做 CLI PHP。范围用空格分隔;我已经仔细检查了几次客户 ID。它的格式与源代码中的注释相同。
标签: google-drive-api