Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 是否可以使用服务帐户访问Google Play Game Services API?_Google App Engine_Google Api_Google Play Services_Google Play Games - Fatal编程技术网

Google app engine 是否可以使用服务帐户访问Google Play Game Services API?

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之前创建的)。第一个用于生产

我已经通过Google Play开发者控制台创建了这个游戏(它已经准备好测试了,但还没有发布)

其中添加了两个服务帐户作为测试人员-
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.">