Xero POST / PUT请求signature_invalid错误

时间:2017-08-16 10:58:28

标签: java android post oauth xero-api

我正在使用java rest客户端lib进行OAuth1.0身份验证来访问xero API。这与GET请求一起工作正常,我能够收到预期的响应。但是它没有使用POST / PUT请求并抛出异常

 oauth_problem=signature_invalid&oauth_problem_advice=Failed%20to%20validate%20signature

在使用带POST / PUT的http时,无需推送新数据即可获取所有库存数据。

我已经尝试过多次发现这有什么问题。请建议我如何解决

先谢谢

1 个答案:

答案 0 :(得分:0)

我假设您没有使用Xero-Java SDK。它可能值得一看,因为它正在得到Xero和社区的积极支持。

https://github.com/XeroAPI/Xero-Java

回答有关无效签名的问题。我发现如果你能成功执行GET,但在POST / PUT上收到无效签名。您应该检查您签署的baseURL。

我见过以下......

使用的动词不正确(GET,PUT,POST) 查询参数不包括在内 不包括ResourceURI

以下是Xero Invoice的POST的示例baseURL

POST&安培; HTTPS%3A%2F%2Fapi.xero.com%2Fapi.xro%2F2.0%2FInvoices%2F96df0dff-43ec-4899-a7d9-e9d63ef12b19&安培; oauth_consumer_key%3D7OSJAWXXXXXXXXXXXDKLHOTHHHSFY%26oauth_nonce%3DA9DCD74418E6669C96A0A734154A9A2BABD42F13%26oauth_timestamp%3D1502899808%26oauth_token %3DK480GXXXXXXXXXXQUVO2SJ402I%26oauth_version%3D1.0