Google云存储Java API-删除文件

Google云存储Java API-删除文件,java,google-cloud-storage,Java,Google Cloud Storage,如何在GCS存储桶上设置“WRITER”权限 我正在尝试使用以下方式删除云存储上的文件: cloudstorage.objects().delete(bucket, object).execute(); 并获取以下错误: { "code" : 403, "errors" : [ { "domain" : "global", "message" : "Forbidden", "reason" : "forbidden" } ], "message" : "

如何在GCS存储桶上设置“WRITER”权限

我正在尝试使用以下方式删除云存储上的文件:

cloudstorage.objects().delete(bucket, object).execute();
并获取以下错误:

{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "Forbidden",
    "reason" : "forbidden"
  } ],
  "message" : "Forbidden"
}

使用gsutil,如下所示:

gsutil acl ch -u email@address.com:W gs://bucket-name 
或者,您可以转到,转到存储>云存储>存储浏览器,单击“…”,然后单击“编辑存储桶权限”,然后单击“+添加项”,选择“用户”、电子邮件地址和写入者,然后单击“保存”


或者,您也可以通过JSON API使用该方法以编程方式执行此操作。

您可以指导我如何通过Java API以编程方式执行此操作吗?你提供的链接有python选项,但没有java选项。我能问一下你想做什么吗?如果你正在运行的应用程序有权更改bucket上的权限,那么它也有权删除该bucket中的任何对象。我通过将bucket上的权限更改为所有用户(通过管理控制台)使其工作。是否有办法使java应用程序以与我相同的用户身份运行(当我使用凭据通过浏览器登录时?)当前该应用程序以不同的用户身份运行。我使用云控制台中的凭据创建了bucket。因此java应用程序没有更改任何内容的权限。它只有读取权限。这是应用程序引擎应用程序吗?在这种情况下,不会。应用程序引擎应用程序作为与项目关联的服务帐户运行。不过,您可以授予该服务帐户权限。