java - Google Drive API - 如何使用域范围服务帐户

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

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

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();

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

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

最佳答案

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

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

关于java - Google Drive API - 如何使用域范围服务帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25114880/

相关文章:

java - 在 Android 的 Activity 中使用服务

authentication - 同时使用 Google Signin 和 Firebase auth 需要登录两次?

android - 在网络/移动应用程序中使用 OAuth/OpenID

google-drive-api - 新版本的 Google Play 服务中 'Listener' 发生了什么

java - 如何将实现 java.lang.Comparable 的类转换为实现 Scala.Ordered?

java - 按字母和数字拆分字符串

java - Maven 添加 WorldEdit 依赖项

c# - Google 电子表格查询返回空单元格

google-app-engine - Google Drive API V2,Python — 在不上传新文件且不使用 Google Drive UI 的情况下创建新文件

python - 有没有办法使用 Python 的 gspread API 自动调整 Google Sheets 中的列?