我正在尝试在 scala 中使用谷歌云存储 java 库来列出存储桶中的项目
val credential = new GoogleCredential.Builder()
.setTransport(GoogleNetHttpTransport.newTrustedTransport())
.setJsonFactory(JacksonFactory.getDefaultInstance())
.setServiceAccountId("[email protected] /cdn-cgi/l/email-protection")
.setServiceAccountScopes(Collections.singleton(StorageScopes.DEVSTORAGE_READ_ONLY))
.setServiceAccountPrivateKeyFromP12File(new File("file.p12"))
.build()
val storage = new Storage.Builder(
GoogleNetHttpTransport.newTrustedTransport(),
JacksonFactory.getDefaultInstance(),
credential)
.setHttpRequestInitializer(credential)
.setApplicationName("app")
.build()
storage.objects.list("bucket").execute
然而我得到了
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Forbidden",
"reason" : "forbidden"
} ],
"message" : "Forbidden"
}
我的电子邮件帐户可以访问该存储桶,我也可以通过在我的帐户中创建一个项目来使用 gsutil 访问它。
我已经创建了[电子邮件受保护] /cdn-cgi/l/email-protection在我帐户的项目中,知道如何设置权限吗?
刚刚遇到同样的问题,并认为我们已经找到了解决方案。为了解决这个问题,我们尝试访问的 Google Play 开发者控制台的所有者必须将我们的服务帐户电子邮件地址添加到 Google Play 控制台权限列表中,并授予服务帐户财务报告权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)