【问题标题】:Google OAuth2 Service Accounts authorizationGoogle OAuth2 服务帐号授权
【发布时间】:2012-11-23 11:32:40
【问题描述】:

我正在尝试使用“服务帐户”授权执行 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

这里有什么问题?

【问题讨论】:

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


    【解决方案1】:

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

    我想你明白了,但别忘​​了在你的 Oauth2 请求中使用服务帐户电子邮件

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

    【讨论】:

    • 谢谢。我不知道应用程序的驱动器。关于授权,我会在一小时后再次检查并回复。再次感谢。
    • 有没有关于这个application's drive的文档?
    • 它只是一个没有 Web UI 的普通 Drive 帐户。我不知道一个应用程序有多少可用空间
    • 谢谢。所以我刚刚检查了我的测试应用程序。在 Google Api 控制台中,服务帐户客户端有 Client IDEmail address。我在iss 字段中使用Email address 进行OAuth2 请求。对不对?
    • 是的,它是 iss 的电子邮件地址。还要检查您的域管理面板。那里必须有客户 ID
    猜你喜欢
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    相关资源
    最近更新 更多