【问题标题】:Google Drive API - How to work with the domain-wide service accountGoogle Drive API - 如何使用域范围的服务帐户
【发布时间】:2014-09-26 16:51:36
【问题描述】:

我试图使用我的应用程序的服务帐户按照以下说明访问我域中所有用户的所有文档:

https://developers.google.com/drive/delegation 但它没有用。 你能帮我解决这个问题吗? 我尝试关注 URL -

http://iambusychangingtheworld.blogspot.co.uk/2013/12/google-drive-api-how-work-with-domain.html

和代码 -

GoogleCredential credential = new GoogleCredential.Builder()
                .setTransport(TRANSPORT)
                .setJsonFactory(jsonFactory)
                .setServiceAccountId("SERVICE_ACCOUNT_EMAIL")
                .setServiceAccountPrivateKeyFromP12File(
                        new java.io.File("SERVICE_ACCOUNT_PKCS12_FILE_PATH"))
                .setServiceAccountScopes(scopes)
                .setServiceAccountUser("abc@xyz.com").build();

它工作正常但是应该给我这个域的所有用户的详细信息......相反它只给我一个用户帐户..在服务帐户文档中它说它应该能够访问此下的所有用户数据域..我错过了什么>? 仅供参考...已添加范围,为此帐户启用了 API

有什么办法可以得到吗?? 我也看过下面的链接,但不是 - Not able to access my google drive Files with service account

【问题讨论】:

标签: java google-api google-drive-api service-accounts


【解决方案1】:

具有域范围委派的服务帐户允许您一次访问每个帐户的数据

如果您想访问域中所有用户的数据,您需要为每个用户生成不同的令牌(在setServiceAccountUser() 方法中传递电子邮件)并为每个用户进行 API 调用。

【讨论】:

  • 嗨,大卫,非常感谢您在 this.1 上的快速帮助。所以这意味着我需要拥有该域下的所有用户电子邮件地址,并为所有记录一一设置它们(在 setServiceAccountUser 中)..? . 2.还有其他方法吗..在不提供所有电子邮件ID的情况下(如果有1k-10k条记录)?
  • 是的,您需要知道所有的电子邮件地址。您可以使用 Directory API 找到它们。我找不到任何其他选项,我不得不为 28k 用户和 1M 文档这样做 :-) 请注意,如果用户被暂停,您将无法访问 Drive API。
  • 谢谢伙计,真的很感激...我很生气,因为我再次回到设置,以为我错过了什么...我找到的这个 URL 表明我们可以得到它 - iambusychangingtheworld.blogspot.co.uk/2013/12/… 所以我在它周围工作了一段时间......但仍然没有得到它......但为什么会这样,因为我们使用的是服务帐户,我们应该能够一次获得用户数据列表通过给服务帐户管理员用户(我们使用它创建帐户)拍摄...这里可能是错误的
  • 我的要求和你完全一样,唯一的方法是为每个用户使用 setAccountUser。我也尝试使用管理员用户,但它不起作用。
  • 嗨大卫,还有一件事..如果我从列表中取出任何用户并将其设置在 setServiceAccountUser(test1@xyz.com) 中。它给了我错误-线程“主”com.google.api.client.auth.oauth2.TokenResponseException 中的异常:403 Forbidden {“error”:“access_denied”,“error_description”:“请求的客户端未授权。” } .. 那么我们如何在此处将令牌与请求一起传递..
猜你喜欢
  • 2020-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-12
  • 2020-09-06
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
相关资源
最近更新 更多