我第一次尝试使用Google Prediction API。
我只是按照文章https://developers.google.com/appengine/articles/prediction_service_accounts中提供的步骤进行操作。
在执行上述文章中的步骤2.4时,我遇到了一个奇怪的问题。
我已按照以下步骤操作。
1)我在xyz.com域中创建了一个应用程序,我的应用程序的服务帐户名称为“myapp@appspot.gserviceaccount.com”。
2)然后,我转到Google API控制台上的“团队”标签,并尝试将我的应用程序的服务帐户名称添加到我已激活Prediction API和Google Cloud Storage的项目中。
在将serivce帐户添加到项目时,它给出了一个错误说明 “只有域xyz.com中的用户才可以添加到项目中”。 同样类型的消息也显示在“团队”选项卡的底部。 xyz.com是我的应用程序部署的域名。
有没有人可以帮助我理解为什么会出现这种消息? 是否需要将服务帐户添加到Google控制台API项目中的域级管理员设置?
此致 Nirzari
答案 0 :(得分:3)
目前,如果您使用自己的Apps帐户创建了一个项目,则只能添加该域名的成员。
您需要做的是从xxx@gmail.com帐户(不是您的Apps域帐户)创建新项目。然后,您可以添加@ appspot.gserviceaccount.com和yourself@xyz.com。
我想你甚至可以在你添加了your@xyz.com后删除xxx@gmail.com。如果需要,甚至激活billing@xyz.com的结算,而不是xxx@gmail.com。
答案 1 :(得分:0)
从https://developers.google.com/appengine/docs/python/googlestorage/overview
获取您可以手动修改存储桶的ACL:
授予应用程序访问存储桶的另一种方法是使用gsutil实用程序手动编辑并设置存储桶ACL和默认对象ACL:
gsutil getacl gs://mybucket > myAcl.txt
<条目>
< Scope type =“UserByEmail”>
< EmailAddress的>
your-application-id@appspot.gserviceaccount.com
< / EmailAddress的>
< /范围>
<权限>
WRITE
< /许可>
< /条目>
gsutil setacl myAcl.txt gs://mybucket