我正在使用“保存到Android Pay”API,我正在尝试更新其中一个对象。根据{{3}}。
实现它的一种方法是使用cURL命令并按照以下步骤操作:
java -jar TokenUtil.jar serviceAccountEmailAddress pathToPrivateKey
curl -X GET https://www.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
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
来自服务器及其内部结构不是由我建造的。
答案 0 :(得分:0)
他们花了一段时间,但谷歌终于解决了他们的错误,并与我分享了他们的解决方案(希望他们也会很快更新他们的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
应用这些更改后,我能够更新我的对象。