【问题标题】:Xero POST/PUT request signature_invalid errorXero POST/PUT 请求签名_无效错误
【发布时间】:2017-08-16 10:58:27
【问题描述】:

我正在使用 Java REST 客户端库进行 OAuth1.0 身份验证来访问 xero API。这适用于 GET 请求,并且我能够收到预期的响应。但它不适用于 POST/PUT 请求并引发异常

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

在将 http 与 POST/PUT 结合使用时,在不推送新数据的情况下获取所有库存数据作为响应。

我已经尝试了很多找出问题所在。请建议我如何解决它

提前致谢

【问题讨论】:

    标签: java android post oauth xero-api


    【解决方案1】:

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

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

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

    我看到了以下......

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

    这里是 Xero 发票 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

    【讨论】:

    • 我没有使用 xero-java 库 bcz 我只为 Android 做这个。我可以请求更多帮助吗?实际上在 url 编码后得到无效的 url 错误
    • 意外的网址:https%3A%2F%2Fapi.xero.com%2Fapi.xro%2F2.0%2F/Items
    • 我已经为 oAuth1.0 使用了一个谷歌库我已经调试了代码,并以同样的方式库生成签名。但它不适用于发布请求
    猜你喜欢
    • 2023-03-14
    • 2019-01-12
    • 1970-01-01
    • 2021-08-02
    • 2020-05-09
    • 1970-01-01
    • 2019-05-10
    • 2022-07-16
    • 2018-09-04
    相关资源
    最近更新 更多