2

在应用程序 A

我使用 BlobStore API 将图像上传到 Google Cloud Storage (GCS)。从同一个应用程序中,我可以使用图像的云存储文件名(例如"/gs/bucket-name/object-file-name")获取服务 URL

在应用程序 B

我尝试使用相同的文件名获取服务 URL。但是我得到了一个ImagesServiceFailureException,而且似乎很清楚这是由于访问权限造成的。

但是,我不确定权限到底有什么问题。在我的 Google API 项目下,我已将两个 GAE 应用程序添加为具有Can edit权限的团队成员。我的理解是项目所有者和项目作者组对该对象具有 FULL_CONTROL 权限(根据https://developers.google.com/console/help/#DifferentRoles

是否getServingUrl(ServingUrlOptions.Builder.withGoogleStorageFileName("object_name"))仅限于在同一个 GAE 应用程序中上传的图像?

4

1 回答 1

2

我通过使用通常的getServingUrl(ServingUrlOptions.Builder.withBlobKey(blobKey)). 而不是getServingUrl(ServingUrlOptions.Builder.withGoogleStorageFileName(gsFileName)).

需要注意的是,这个 blob 密钥是使用 BlobstoreService 的 createGsBlobKey 生成的,它不是通常的 blob 密钥。

于 2013-04-17T13:35:24.910 回答