我正在使用java rest客户端lib进行OAuth1.0身份验证来访问xero API。这与GET请求一起工作正常,我能够收到预期的响应。但是它没有使用POST / PUT请求并抛出异常
oauth_problem=signature_invalid&oauth_problem_advice=Failed%20to%20validate%20signature
在使用带POST / PUT的http时,无需推送新数据即可获取所有库存数据。
我已经尝试过多次发现这有什么问题。请建议我如何解决
先谢谢
答案 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