2015-04-06 92 views
3

我有一個很難從Magento的REST API獲取訂單時,我使用它的GET過濾器像http://localhost/magento/api/rest/orders/?filter[1][attribute]=entity_id&filter[1][gt]=70&page=1&limit=100oauth_signature無效的錯誤

它給人一種「錯誤」:[{」代碼「:401,」消息「:」oauth_problem = signature_invalid「}]

當我嘗試使用像Postman這樣的REST客戶端點擊相同的API端點時,我收回了期望的結果JSON。

我懷疑過濾器查詢中的方括號可能導致生成Oauth簽名時出現問題。所有沒有GET過濾器的端點工作正常。 我正在使用Request節點模塊使用oauth標頭進行GET請求。

是否有任何修復以避免signaturre無效錯誤?

回答

0

因爲我花了一些時間來弄清楚如何做到這一點,我想我會傳給我學到了什麼。我的目標是向Magento的REST API發出一個請求,以返回具有特定訂單狀態的訂單。直到我看到最後一行時,才查看GET過濾器文檔頁面並不真正有用。這是請求,我想出了工作:

http://magentohost.com/api/rest/orders?filter[1][attribute]=status&filter[1][in][1]=pending&filter[1][in][2]=processing 上述請求會得到一個狀態爲「掛起」或「處理」的所有訂單的列表。

編號:http://magentoforce.com/2014/08/magento-rest-api-multiple-in-get-filters/

1

問題是我使用來產生的OAuth signature.It沒有爲方括號中的URL因素的請求節點模塊內。我修改了包含方括號的模塊中的代碼。更改OAuth簽名生成方法爲我解決了這個問題