【问题标题】:Google drive v3 java API to get quota for service accountGoogle drive v3 java API 以获取服务帐户的配额
【发布时间】:2019-03-07 08:04:54
【问题描述】:
我想使用 V3 java API 获得 Google Drive 的配额。
Drive driveService = getDriveService();
driveService.about().get()
return {}
我正在使用服务帐户获取 driveService。有人可以建议我缺少什么吗?
服务帐号是否共享父 gmail 帐号的存储配额?
【问题讨论】:
标签:
java
google-drive-api
google-client
【解决方案1】:
对于您的第一个问题,基于 Migrate to Google Drive API v3 文档:
默认情况下不再返回完整资源。使用fields 查询
请求返回特定字段的参数。如果离开
未指定只返回常用字段的子集。
你的代码应该是:
service.about().get().setFields("user, storageQuota").execute()
fields 查询参数应该被指定为方法
返回
关于第二个问题,据我所知,即使 Google Drive、Gmail 和 Google Photos 之间共享 Drive 存储空间,您的服务帐户也不会使用您主帐户的 Drive Storage 配额。你可以从这个documentation阅读更多内容:
服务帐户应该仅用于执行委派
有效身份是域中单个用户的身份。
使用服务帐户作为共同所有者创建许多共享
文档可能会对性能产生严重影响。此外,
服务帐户可能不会获得额外的存储配额,它们也不会
充当域的成员。
您可以将您帐户的文件夹共享到您的服务帐户,以从您的普通帐户中获得额外的存储空间。