
[英]Resumable upload text file in Google cloud using Cloud Storage JSON API in java, facing issue of access forbidden with 403 error code
[英]access google cloud storage using java library gets '403 forbidden'
我正在尝试使用scala中的google云存储java库来列出存储桶中的项目
val credential = new GoogleCredential.Builder()
.setTransport(GoogleNetHttpTransport.newTrustedTransport())
.setJsonFactory(JacksonFactory.getDefaultInstance())
.setServiceAccountId("xxx@developer.gserviceaccount.com")
.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访问它。 我在我的帐户中的项目中创建了xxx@developer.gserviceaccount.com,知道如何设置权限?
刚刚遇到同样的问题,并认为我们找到了解决方案。 要解决此问题,我们尝试访问的Google Play开发者控制台的所有者必须将我们的服务帐户电子邮件地址添加到Google Play控制台权限列表中,并为服务帐户提供财务报告权限。
如果您是通过Google Compute Engine实例执行此操作,请确保在启用了服务帐户权限的情况下启动该实例...请参阅https://cloud.google.com/compute/docs/authentication#using
如果不使用服务帐户启动实例,则无权使用服务帐户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.