我假设您没有使用 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