我正在尝试使用scala中的google云存储java库来列出bucket中的项目
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 Compute Engine实例执行此操作,请确保在启用服务帐户权限的情况下启动该实例。。。看见https://cloud.google.com/compute/docs/authentication#using
如果您不使用服务帐户启动实例,它将没有使用服务帐户的权限。
刚刚遇到了同样的问题,并且认为我们已经找到了解决方案。为了解决这个问题,我们试图访问的Google Play开发者控制台的所有者必须将我们的服务帐户电子邮件地址添加到Google Play控制台权限列表中,并授予服务帐户财务报告权限。
我想从Google Play Analytics获取数据,它存储在Google云存储中。经过研究,洛特发现,并没有直接的API来获取谷歌播放分析报告数据。因此,我找到了通过GoogleAPI客户端PHP库链接访问GooglePlay帐户报告的方法,并遵循了给定的方法。我已经创建了服务帐户,授予了所有者权限,并启用了谷歌云api。 在链接中显示的代码中,如果我使用var_dump($bucket),
我有一个使用Firebase身份验证的node.js客户端。现在我想访问谷歌云存储,但是node.js的Firebase SDK不包括GCS。使用@google-云/存储工作,但只有匿名访问。如何将Firebase凭据应用到@google-Cloud/存储,以便在登录用户的上下文中访问GCS?
问题内容: 我无法在Google Container Engine中使用“应用程序默认凭据”。这些文档说,它们是为App Engine和Compute Engine设计的,但是有人告诉我,它们应该透明地传递给在Container Engine上运行的容器。 这是失败的代码: 失败的错误: 期望Application Default Credentials与Container Engine一起使用是
我在我创建的谷歌云存储上有一个存储桶。我想测试一些内置ACL,如public read、public read write等。但是,一旦我使用gsutil setacl命令更改了ACL,例如:
我正在开发一个web应用程序,作为与Google云存储(GCS)的接口。 我正在使用后端服务来检索我存储在GCS上的文件列表及其使用JSON API的URL,并将其返回到我的Web应用程序。然而,我真的无法通过这些URL加载文件,总是返回403禁止。 我不确定GCS身份验证在幕后是如何工作的,也不确定是否可以直接授予对网络应用程序的访问权限。我不确定如何通过超文本传输协议请求附加应用程序鉴别信息。