從Magento的維基在:Magento的REST API的Oauth URL返回404
當得到一個API憑證您在得到一個未經授權的請求令牌開始:
www.mystore.com /的OAuth /啓動
然而,我的代碼不工作,當我瀏覽到上述網址在瀏覽器中,我得到一個404
我將商店代碼添加到基本網址(例如www.mystore.com/en/)我不知道這是否會改變任何內容。
從Magento的維基在:Magento的REST API的Oauth URL返回404
當得到一個API憑證您在得到一個未經授權的請求令牌開始:
www.mystore.com /的OAuth /啓動
然而,我的代碼不工作,當我瀏覽到上述網址在瀏覽器中,我得到一個404
我將商店代碼添加到基本網址(例如www.mystore.com/en/)我不知道這是否會改變任何內容。
我剛剛有同樣的問題。沒有很多類似的問題被發現並且沒有解決方案。這很奇怪,因爲這似乎是一個缺失的配置選項'global/request/direct_front_name',它未在Core/Oauth模塊中設置。沒有這個重要的設置,所有的教程如何工作!?
沒有 「OAuth的」 設置在那裏,每次調用/ OAuth的/ [控制器]導致 「noRouteAction」 被解決(見。Mage_Core_Controller_Request_Http :: setPathInfo()和Mage_Core_Controller_Request_Http :: isDirectAccessFrontendName($商店代碼)),而不是默認的indexAction。
所以,解決辦法如下
<?xml version="1.0"?>
<config>
[...]
<global>
[...]
<request>
[...]
<direct_front_name>
<oauth/>
</direct_front_name>
</request>
</global>
</config>
之後,您終於可以至少獲得令牌設置在本地配置或此設置一個自己的擴展。我正在檢查進一步的過程。
有一個細微之處,不要忘記了HTTP://所以你到店裏調用應該是
http://yourmagentostore.com/oauth/initiate
也有更多的休息服務的設置,那麼你發佈的鏈接上,它只是一個概述。在實際獲得休息響應之前,商店上有很多配置,當用戶未被識別,未經授權或沒有正確的ACL特權時,您將獲得404或500個響應。我認爲這會阻止黑客,但它是一個麻煩射擊的熊。我一直在這條路上,儘管我正在使用自動化工具,但存儲和故障排除的設置是相同的。
在我的博客上看一看我使用Magento REST API保持最新的冒險
乾杯!
豐富博雷克
http://magento-simplified.blogspot.com
我也有這個問題,那下面請求返回的404 HTTP狀態:
http://yourmagentostore.com/oauth/initiate
的解決方案是非常簡單:如果您正在使用多個商店在外殼和/或將視圖存儲在同一個域中,不要忘記添加映射到商店視圖的url路徑。例如。
http://yourmagentostore.com/<my-store-view-path>/oauth/initiate
Magento的Wiki有一個錯字:
$adminAuthorizationUrl = 'http://yourhost/admin/oAuth_authorize';
應該是:
$adminAuthorizationUrl = 'http://yourhost/admin/oauth_authorize';
+1 - 我的客戶oauth網址都正常工作,但是'/ admin/oAuth_authorize'是404'。將路徑更改爲全部小寫解決了它。 – STW
我這一個全天大部分時間的掙扎,所以這裏的的情況下,後期的貢獻它幫助別人:
多數民衆贊成由Magento的,管理/ oauth_authorize文件授權URL,假設你沒有爲您的管理員訪問使用自定義網址。 「admin」是訪問Magento儀表板的標準URL,但許多人爲了安全起見而改變它。如果您將管理員網址更改爲「admin」以外的內容,請改爲使用該網址。
督察,如果你在https://yoursite.com/foo訪問你的Magento的儀表板,那麼你的驗證網址是富/ oauth_authorize。
你得到404或400錯誤的請求? –
只需在瀏覽器中加載url,將不會將所需的參數傳遞給服務器對象,該對象在嘗試啓動令牌時將失敗並拋出一個導致400請求錯誤的異常。這個可能會被誤認爲是404 –
這是404 我發了言: jQuery.post(「http://www.mydomain.com/oauth/initiate」); 進入我的Chrome控制檯,得到: POST http://www.mydomain.com/oauth/initiate 404(未找到) –