1

我第一次尝试使用 Google Prediction API。

我只是按照文章https://developers.google.com/appengine/articles/prediction_service_accounts中给出的步骤进行操作。

在执行上述文章中的步骤 2.4 时,我遇到了一个奇怪的问题。

我已按照以下步骤操作。

1) 我在 xyz.com 域中创建了一个应用程序,并且我的应用程序的服务帐户名称为“myapp@appspot.gserviceaccount.com”。

2)然后我转到 Google API 控制台上的“团队”选项卡,并尝试将我的应用程序的服务帐户名称添加到我已激活预测 API 和 Google Cloud Storage 的项目中。

在将服务帐户添加到项目时,它给了我一个错误,提示“只有域 xyz.com 中的用户可以添加到项目中”。同样的消息也显示在“团队”选项卡的底部。xyz.com 是部署我的应用程序的域。

谁能帮我理解为什么会出现这种消息?将服务帐户添加到 Google Console API 项目是否需要任何域级别的管理员设置?

问候,尼尔扎里

4

2 回答 2

3

目前,如果您使用自己的 Apps 帐户创建项目,则只能添加同一域的成员。

您需要做的是从 xxx@gmail.com 帐户(不是您的 Apps 域帐户)创建一个新项目。然后,您可以同时添加@appspot.gserviceaccount.com 和您自己的@xyz.com。

我认为您甚至可以稍后删除 xxx@gmail.com,一旦您添加了自己@xyz.com。如果您需要,甚至为自己激活账单@xyz.com,而不是 xxx@gmail.com。

于 2012-06-06T13:29:53.367 回答
0

取自https://developers.google.com/appengine/docs/python/googlestorage/overview

您可以手动修改存储桶的 ACL:

授予应用程序访问存储桶的另一种方法是使用 gsutil 实用程序手动编辑和设置存储桶 ACL 和默认对象 ACL:

  • 获取存储桶的 ACL 并将其保存到文件以进行编辑:gsutil getacl gs://mybucket > myAcl.txt
  • 将以下条目添加到您刚刚检索到的 ACL 文件中:

<Entry>
<Scope type="UserByEmail">
<EmailAddress>
your-application-id@appspot.gserviceaccount.com
</EmailAddress>
</Scope>
<Permission>
WRITE
</Permission>
</Entry>

  • 如果要将多个应用程序添加到 ACL,请为每个应用程序重复上述条目,仅更改电子邮件地址以反映每个应用程序的服务名称。
  • 在您的存储桶上设置修改后的 ACL:gsutil setacl myAcl.txt gs://mybucket
于 2012-10-17T17:10:13.340 回答