【问题标题】:Ownership of Google Drive files and Service Account using API使用 API 拥有 Google Drive 文件和服务帐户的所有权
【发布时间】:2015-07-23 18:01:27
【问题描述】:

在开发者控制台中为特定应用用户(例如 user@mydomain.com)创建的服务帐户是否有权访问应用用户的文档?如果我像这样在AssertionCredentials() 中设置帐户:

$credentials = new Google_Auth_AssertionCredentials(...);
$credentials->sub = "user@mydomain.com";

我收到以下错误:

PHP Fatal error:
Uncaught exception 'Google_Auth_Exception' with message
'Error refreshing the OAuth2 token, message:'{
  "error" : "unauthorized_client",
  "error_description" : "Unauthorized client or scope in request."
}

当我没有设置$credentials->sub = "user@mydomain.com" 时,我可以访问驱动器,但我只看到一个文档“如何开始使用驱动器”。

如果我在服务帐户上创建文档,是否可以在不启用域范围委派的情况下将文档的所有权转移到我的应用帐户?

【问题讨论】:

    标签: php google-drive-api


    【解决方案1】:

    就 Drive REST API 而言,服务帐户本质上是他们自己的帐户,但是这种行为似乎与 Google Calendar API 不一致,在该 API 中服务帐户可以模拟所有者帐户没有域范围的委派。如果您与 Developers Console 中提供的服务帐户电子邮件地址共享任何文档,则该服务帐户可以访问该文档,但是由于这两个帐户不在同一个域中,因此无法进行所有权转移。

    【讨论】:

      【解决方案2】:

      在开发者控制台中为特定应用用户(例如 user@mydomain.com)创建的服务帐户是否有权访问应用用户的文档?

      没有

      我可以访问驱动器,但我只看到一个文档“如何开始使用驱动器”。

      你期待什么?您已经创建了一个新帐户,因此它只有一个欢迎文件。

      如果我在服务帐户上创建文档,是否可以在不启用域范围委派的情况下将文档的所有权转移到我的应用帐户?

      您确定您了解什么是服务帐户?如果您希望将文件保存在您的帐户中,请为您的帐户使用令牌并停止使用中间服务帐户。

      【讨论】:

      • 你从哪里得到你的信息?根据您的回答,我认为您不了解什么是服务帐户。
      猜你喜欢
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-28
      • 2019-02-03
      • 2021-07-04
      • 1970-01-01
      • 2015-12-22
      相关资源
      最近更新 更多