2017-08-16 56 views
0

我正在使用java rest客戶端lib進行OAuth1.0身份驗證以訪問xero API。這與GET請求正常工作,我能夠收到預期的迴應。但它不能與POST/PUT請求工作,並拋出異常Xero POST/PUT請求signature_invalid錯誤

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

每當使用HTTP POST與/ PUT,獲得在不推新數據響應所有庫存數據雖然。

我已經嘗試了很多發現有什麼問題。請建議我我如何解決它

由於提前

回答

0

我假設你沒有使用颯樂的Java SDK。它可能值得一看,因爲它正在得到Xero和社區的積極支持。

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

要獲得關於無效簽名的問題。我發現如果您可以成功執行GET,但在POST/PUT上收到無效簽名。你應該檢查你正在簽名的baseURL。

我看到下面....

不正確使用的動詞(GET,PUT,POST) 查詢參數不包括 ResourceURI不包括

這裏爲POST的樣品基本URL一個Xero的發票

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

+0

我不使用Xero的-Java庫BCZ我只是這樣做的Android。我可以要求更多幫助嗎?其實在URL編碼得到無效的網址錯誤 – Dilip

+0

意外的網址:https%3A%2F%2Fapi.xero.com%2Fapi.xro%2F2.0%2F /項目 – Dilip

+0

我已經使用谷歌圖書館oAuth1.0我已經debuged代碼和生成簽名的方式相同。但它不適用於發佈請求 – Dilip