我已经通过Google开发者控制台创建了这个游戏(它是ready for testing,但还没有发布)。
两个服务帐户作为测试员添加- myappid@appspot.gserviceaccount.com (Google服务帐户)和64436212345-enq9gkd1abcdefghjec2kha39je5ojsc@developer.gserviceaccount.com (手动创建的服务帐户,它是在访问Google游戏服务API之前创建的)。第一种用于生产GAE环境,第二种用于开发环境(与--appidentity_email_address一起运行)。这两个帐户与谷歌分析API很好地工作。
现在,我尝试使用这些帐户来使用Google。
以下代码用于授权,运行良好:
credentials = AppAssertionCredentials(scope=['https://www.googleapis.com/auth/games', 'https://www.googleapis.com/auth/plus.login'])
http = credentials.authorize(httplib2.Http(memcache))但是,当我试图访问成就定义(也试图获取应用程序元数据-获取相同的问题)时,我遇到了一个错误:
response = service.achievementDefinitions().list().execute()在开发环境中我得到
<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 "">哪里出什么问题了?服务帐户是否由Google服务API支持?
Upd.进一步分析表明,当我的Google应用程序的ID为760943112345时,64436212345是我的GAE应用程序的ID。
因此,我去为应用程序760943112345添加了64436212345-enq9gkd1abcdefghjec2kha39je5ojsc@developer.gserviceaccount.com和myappid@appspot.gserviceaccount.com作为他们的成员。没什么用。
然后,我在那里生成了新的服务帐户ID,并使用这个服务帐户在本地运行GAE。结果,我开始
<HttpError 401 when requesting https://www.googleapis.com/games/v1/applications/760943112345?alt=json returned "User has not completed registration.">当然,我的服务帐户没有Google+配置文件。
发布于 2014-04-16 16:54:01
我还在为服务帐户和谷歌游戏服务而挣扎,并且陷入了同样的境地(我的服务帐户没有G+帐户)。
我在谷歌文献 (据推测是2014年1月22日更新)中发现的唯一迹象是,服务账户是而不是支持的:
警告:目前很少有Google支持服务帐户。服务帐户>由以下服务支持:
然而,这是嵌入在一些google php客户端文档中的,因此我无法证明它的有效性。
让我知道,如果你有任何运气,使这工作,我也会这样做!
发布于 2017-01-01 15:45:47
编辑:这是实际的答案:有来创建另一个API项目,并将其链接到游戏的项目,如开始使用Google游戏服务发布API中所解释的那样。您添加到游戏项目中的服务帐户将无法工作。另外,您必须通过Google Play Developer控制台而不是通过Google开发者控制台添加这个新的API项目。据我所知,你去后者只拿你的钥匙。这整件事我花了很长时间才弄清楚。
我保留以下案文,供今后参考:
编辑:我写了下面的答案,认为你没有谈论发布API。但你似乎是。或者更早的版本。我希望下面的答案对那些希望通过服务帐户访问Management的人有帮助:
我与此作了斗争,并得出结论认为,服务帐户不适用于GPGS管理API,而GPGS管理API是处理此类成就和事情的API。以下是我过去得出这一结论的事实:
如果这在GPGS文档中更清晰一点,那就太好了。他们从GPGS页面链接的通用Google文档让我相信服务帐户会正常工作。
https://stackoverflow.com/questions/23093806
复制相似问题