Google app engine 是否可以使用服务帐户访问Google Play Game Services API?
我已经通过Google Play开发者控制台创建了这个游戏(它已经准备好测试了,但还没有发布) 其中添加了两个服务帐户作为测试人员-Google app engine 是否可以使用服务帐户访问Google Play Game Services API?,google-app-engine,google-api,google-play-services,google-play-games,Google App Engine,Google Api,Google Play Services,Google Play Games,我已经通过Google Play开发者控制台创建了这个游戏(它已经准备好测试了,但还没有发布) 其中添加了两个服务帐户作为测试人员-myappid@appspot.gserviceaccount.com(谷歌应用程序引擎服务帐户)和64436212345-enq9gkd1abcdefghjec2kha39je5ojsc@developer.gserviceaccount.com(手动创建的服务帐户,是在允许访问Google Play Game Services API之前创建的)。第一个用于生产
myappid@appspot.gserviceaccount.com
(谷歌应用程序引擎服务帐户)和64436212345-enq9gkd1abcdefghjec2kha39je5ojsc@developer.gserviceaccount.com
(手动创建的服务帐户,是在允许访问Google Play Game Services API之前创建的)。第一个用于生产GAE环境,第二个用于开发环境(使用--appidentity\u email\u address运行)。这两个帐户与谷歌分析API配合良好
现在我尝试使用这些帐户与Google Play Game Services API一起工作
以下代码用于授权,可以正常工作:
credentials = AppAssertionCredentials(scope=['https://www.googleapis.com/auth/games', 'https://www.googleapis.com/auth/plus.login'])
http = credentials.authorize(httplib2.Http(memcache))
但我在尝试访问成就定义时出错(也尝试获取应用程序元数据-遇到了相同的问题):
在开发环境中,我得到
<HttpError 404 when requesting https://www.googleapis.com/games/v1/achievements?alt=json returned "The requested application with ID 64436212345 was not found.">
当然,我的服务帐户没有Google+个人资料。我也在为服务帐户和Google游戏服务苦苦挣扎,我的服务帐户没有G+帐户
我在(预计于2014年1月22日更新)中发现的唯一迹象表明,服务账户不受支持:
警告:目前很少有谷歌API支持服务帐户。以下Google开发者服务当前支持>服务帐户:
- 谷歌云存储
- 谷歌预测API
- 谷歌网址缩短器
- Google OAuth 2.0授权服务器
- 谷歌大查询
但是,这已经嵌入到一些GoogleAPI php客户端文档中,所以我无法证明它的有效性
让我知道如果你有任何运气让这个工作,我也会这样做 编辑:以下是实际答案:
您可以创建另一个API项目,并将其链接到游戏的项目,如中所述。您添加到游戏项目中的服务帐户将不起作用。此外,您必须通过而不是通过添加此新API项目。据我记忆所及,你去后者只是为了拿到你的钥匙。整个情况我花了很长时间才弄明白
我保留以下文本以备将来参考:
编辑:我在下面写了答案,认为你没有提到发布API。但你似乎是。或者是它的早期版本。我希望以下答案对希望使用服务帐户访问管理API的人有用:
我也与之抗争,并得出结论,服务帐户不能与GPGS管理API一起工作,GPGS管理API是处理成就和类似事情的API。以下是我用来得出这个结论的事实:
- 在GPGS文档中提到的服务帐户是发布API
- 包含关于授权要求的每个函数的描述,例如:“此方法仅对开发人员控制台的用户帐户可用”,但没有此类描述李>
- 对于管理,API不使用服务帐户
如果在GPGS文档中更清楚一点,那就太好了。他们从GPGS页面链接的通用谷歌云文档让我相信服务帐户可以工作 看起来已经两年了,但如果你还在想,请看下面我的答案:D干杯。
<HttpError 404 when requesting https://www.googleapis.com/games/v1/achievements?alt=json returned "The requested application with ID 64436212345 was not found.">
<HttpError 500 when requesting https://www.googleapis.com/games/v1/achievements?alt=json returned "">
<HttpError 401 when requesting https://www.googleapis.com/games/v1/applications/760943112345?alt=json returned "User has not completed registration.">