Xero POST/PUT-запрос signature_invalid error

Я использую клиентскую библиотеку Java отдыха для аутентификации OAuth1.0 для доступа к API xero. Это работает нормально с запросом GET, и я могу получить ожидаемый ответ. Но он не работает с запросом POST/PUT и выдает исключение

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

При использовании http с POST/PUT можно получить все данные инвентаризации в ответ, не выдвигая новые данные.

Я много пытался выяснить, что с этим не так. Пожалуйста, предложите мне, как я могу решить это

Заранее спасибо

1 ответ

Я предполагаю, что вы не используете Xero-Java SDK. На это, возможно, стоит обратить внимание, поскольку Xero и сообщество активно его поддерживают.

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

Ответить на ваш вопрос о недействительных подписях. Я обнаружил, что если вы можете успешно выполнить GET, но получить неверную подпись на POST/PUT. Вы должны проверить свой baseURL, который вы подписываете.

Я видел следующее....

Используется неверный глагол (GET, PUT, POST) Параметры запроса не включены ResourceURI не включен

Вот пример baseURL POST для Xero Invoice

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

Другие вопросы по тегам