【问题标题】:AppState with Google Client API. Update not possible?AppState 与 Google 客户端 API。无法更新?
【发布时间】:2014-03-30 20:39:49
【问题描述】:

我们正在使用 Google 的 API 发现服务将 Google App State 集成到我们基于网络的游戏中。我们的测试代码如下所示:

gapi.client.load('appstate','v1',function(response) {
  var request = gapi.client.appstate.states.update({ stateKey: 0 });
  request.execute(function(result) { console.log(result); });
});

我总是返回带有消息“更新请求不包含任何数据。”的 HTTP 400。这是有道理的,因为我没有传递任何数据,问题是我不知道如何传递数据(又名状态),而且我找不到任何关于如何传递数据的文档。我尝试将一些数据与 stateKey 一起传递

{ stateKey: 0 , data: <some-base64-encoded-data> }

但这仍然失败并显示相同的消息。

在检查了库的缩小代码后,我开始怀疑此功能仍未实现。


更新(做了更多实验后)

我也尝试过像这样使用gapi.client.request

  var request = gapi.client.request({
      'path': '/appstate/v1/states',
      'params': { 'stateKey': '0' },
      'method': 'PUT',
      'body': {
        'kind': 'appstate#updateRequest', 
        'data': 'ZGF0YQ=='
      }
  });

但我得到一个404,我认为这是因为此方法以&amp;stateKey=0 样式传递请求参数。另一方面,如果我使用'path': '/appstate/v1/states/0',我会得到一个冲突响应,这正是我所期望的。

如果我错了,请纠正我,但我开始相信问题是由于 Google 的不同 Web API 之间的不一致造成的,他们现在正试图将这些 API 合并到一个界面中。

【问题讨论】:

    标签: javascript google-play-games google-api-client google-api-js-client


    【解决方案1】:

    在您最初的基于发现的方法中,您需要在名为“resource.”的参数中传递数据。 这是 appstate/v1 的 Discovery 文档:https://www.googleapis.com/discovery/v1/apis/appstate/v1/rpc

    【讨论】:

    • 我试试看。只是出于好奇,除了 JSON 定义之外,还有其他地方记录吗?
    • 另外,如何进入该文件? :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 2015-08-19
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多