如何在 Android Pay 中更新钱包对象



我正在使用"保存到Android Pay"API,我正在尝试更新我的一个对象。根据谷歌的API。

实现它的一种方法是使用 cURL 命令并按照以下步骤操作:

  1. 获取令牌

java -jar TokenUtil.jar serviceAccountEmailAddress pathToPrivateKey

  1. 将特定对象保存到文本文件

curl -X GET https://www.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt

  1. 在文件中进行我希望进行的更改(并将版本值增加 1)
  2. 将更新的文件推送回服务器。

curl -X PUT https://www.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d myobjectfile.txt

步骤 1 - 3 工作正常,但是当我尝试将对象推回服务器时,出现以下错误:

{
"error": {
         "errors": [
                   {
                   "domain": "global",
                   "reason": "parseError",
                   "message": "Parse Error"
                   }
                   ],
         "code": 400,
         "message": "Parse Error"
         }
}

由于我在文件中更改的只是版本(也许是某个标题中的一个字符,只是为了查看更改),我不明白为什么我会收到解析错误,因为myobjectfile.txt来自服务器并且其内部结构不是由我构建的。

他们花了一段时间,但谷歌终于解决了他们的错误并与我分享了他们的解决方案(希望他们也会很快更新他们的 API):

• 该文件应为.json文件,而不是.txt文件。

• 在 PUT 命令中的文件名之前应该有一个@符号:

curl -X PUT https://www.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d @myobjectfile.json

应用这些更改后,我能够更新我的对象。

相关内容

  • 没有找到相关文章

最新更新