如何在 Android 支付中更新钱包 object?
How to update a wallet object in Android Pay?
我正在与 "Save to Android Pay" API 合作,我正在尝试更新我的 object 之一。根据Google's API。
实现它的一种方法是使用 cURL 命令并按照以下步骤操作:
- 获得令牌
java -jar TokenUtil.jar serviceAccountEmailAddress pathToPrivateKey
- 将特定的 object 保存到文本文件
curl -X GET https://www.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
- 在文件中进行我希望进行的更改(并将版本值增加 1)
- 将更新后的文件推送回服务器。
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 工作正常,但是当我尝试将 object 推回服务器时,出现以下错误:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error"
}
],
"code": 400,
"message": "Parse Error"
}
}
因为我在文件中更改的只是版本(可能是某些标题中的一个字符,只是为了查看更改)我不明白为什么我收到解析错误,因为 myobjectfile.txt
来自服务器而且它的内部结构不是我建的。
他们花了一段时间,但 Google 终于解决了他们的错误并与我分享了他们的解决方案(希望他们也能尽快更新他们的 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
应用这些更改后,我能够更新我的对象。
我正在与 "Save to Android Pay" API 合作,我正在尝试更新我的 object 之一。根据Google's API。
实现它的一种方法是使用 cURL 命令并按照以下步骤操作:
- 获得令牌
java -jar TokenUtil.jar serviceAccountEmailAddress pathToPrivateKey
- 将特定的 object 保存到文本文件
curl -X GET https://www.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
- 在文件中进行我希望进行的更改(并将版本值增加 1)
- 将更新后的文件推送回服务器。
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 工作正常,但是当我尝试将 object 推回服务器时,出现以下错误:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error"
}
],
"code": 400,
"message": "Parse Error"
}
}
因为我在文件中更改的只是版本(可能是某些标题中的一个字符,只是为了查看更改)我不明白为什么我收到解析错误,因为 myobjectfile.txt
来自服务器而且它的内部结构不是我建的。
他们花了一段时间,但 Google 终于解决了他们的错误并与我分享了他们的解决方案(希望他们也能尽快更新他们的 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
应用这些更改后,我能够更新我的对象。