Google OAuth2服务帐户授权

时间:2012-11-23 11:32:40

标签: oauth-2.0 google-drive-api service-accounts

我正在尝试使用“服务帐户”授权执行Google Drive API调用。

我正在调用API,但files.list返回空集,同时驱动器不为空。 我想我也应该指定prn字段,以便代表具体用户执行调用(当没有指定prn时,我真的不知道是谁调用它)。问题是,当我指定prn授权时,我会返回access_denied错误。

{
  "error" : "access_denied"
}

文档说我应该从控制面板启用客户端API访问 http://support.google.com/a/bin/answer.py?hl=en&answer=162106

以下是我所做的,但这没有多大帮助,它仍然给了我access_denied

'Authorized API clients' screenshot

这里有什么问题?

1 个答案:

答案 0 :(得分:2)

你几乎是对的。您确实需要授权您的应用访问域的云端硬盘。为此,您必须将您选择的范围与API控制台中可以找到的服务帐户ID 相关联。此关联是在您的域的管理面板中进行的,您发布了屏幕截图。

我认为你有这个,但不要忘记在你的Oauth2请求中使用服务帐户电子邮件

仅供参考,如果您未指定 prn ,则可以访问应用程序的驱动器,该驱动器无法通过Web UI访问