我與C#中的新手,但因爲我用Delphi連接通過使用OAuth其餘的Magento有麻煩....我決定開始特林用C#Magento的C#RESTAPI錯誤
做我搜索網站的解決方案,並發現了Magento.RestApi庫,似乎是非常新的。 作爲一個新手和所有人,我花了一點時間,直到我成功地設置了我的環境進行測試,所以這就是我所做的: - 安裝Visual Studio 2015 Comunity之後,我開始了一個新項目,然後從它開始我訪問的包管理控制檯和運行這個命令:
Install-Package Magento.RestApi
在此之後,我放置在窗體上的一個按鈕,和的onClick,我添加以下代碼:
var client = new MagentoApi()
.SetCustomAdminUrlPart("index.php/admin")
.Initialize("http://www.example.com/magento/", "77896eyrf34i37873gh7389h7e3fg34", "u837h743488dg38g8384433423")
.AuthenticateAdmin("adminuser", "adminpassword");
當然,我加入在代碼中使用子句:
using Magento.RestApi;
此外,Initialize的參數是需要的參數...以及密鑰和祕密。 據我所知(從根本沒有文檔),這應該是實例化一個Magento RestAPI對象,這將允許我干涉我的magento商店。
當我運行的代碼,然後單擊按鈕,這是我所得到的:
Exception thrown: 'Magento.RestApi.MagentoApiException' in Magento.RestApi.dll
Additional information: The provided admin username 'adminuser' or password is invalid. The user needs to be a Magento admin.
的事情是:用戶是完美的,這是我的管理員用戶名,密碼是正確的。用戶的REST角色設置在我的Magento商店的後端,其餘所有設置都在後端完成,以便啓用REST。
在另一方面,我試圖調查該庫做什麼,我安裝提琴手 ...才發現,其實通過我的商店返回錯誤頁面是這樣的:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /magento/oauth/initiate was not found on this server.</p>
<hr>
<address>Apache/2.2.3 (CentOS) Server at www.example.com Port 80</address>
</body></html>
(這是來自Fiddler的TextView)
顯然,我的REST調用的URL是錯誤的?或者我的商店設置不正確?
而且要OAuth似乎因爲在請求(也提琴手)的身份驗證選項卡使用我有這樣的:
No Proxy-Authorization Header is present.
Authorization Header is present: OAuth oauth_callback="http%3A%2F%2Flocalhost%3A8888",oauth_consumer_key="77896eyrf34i37873gh7389h7e3fg34",oauth_nonce="kldcjldvnldgkll",oauth_signature="jkiu3i5i5hbikh%3D",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1448717978",oauth_version="1.0"
你的店真的在'/ magento /'下嗎? [Here](http://devdocs.magento.com/guides/m1x/api/rest/authentication/oauth_authentication.html)它提供了一個'/ oauth/initiate'的示例URI。 – Kenney
我知道這篇文章,但它對我沒有多大幫助。我的店鋪(前端)的實際網址是'http:// www.example.com/magento /',而我的管理網址(後端)是'http://www.example.com/magento/index.php/admin '。有沒有什麼辦法(一些虛擬REST客戶端應用程序與oAuth),我可以填充我的密鑰和祕密,和目的地測試網址,所以我可以看到,我使用正確的URL連接?所以,有些客戶完美無瑕,所以我會知道問題出在我店的配置而不是客戶端? – user1137313
404錯誤說:'
Apache/2.2.3(CentOS)服務器在www.example.com端口80' - 你沒有連接到'www.example.com'是你嗎? – Kenney