如何使用C#的Magento REST API

Sun*_*rma 3 c# api rest magento

在哪里可以找到显示如何使用C#连接到Magento REST API的示例?

我发现是一个PHP,除了一点点我无法弄清楚.

使用我在网上找到的Dropbox OAuth示例,我试图让它适用于Magento:

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    var consumerKey = “xxxxxxxxxxxxx”; 
    var consumerSecret = “xxxxxxxxxxxxxxxx”;

    var uri = new Uri("http://www.MagentoWebsite.com/oauth/token");

    // Generate a signature 
    OAuthBase oAuth = new OAuthBase(); 
    string nonce = oAuth.GenerateNonce(); 
    string timeStamp = oAuth.GenerateTimeStamp(); 
    string parameters; 
    string normalizedUrl; 
    string signature = oAuth.GenerateSignature(uri, consumerKey, consumerSecret, 
    String.Empty, String.Empty, “GET”, timeStamp, nonce, OAuthBase.SignatureTypes.HMACSHA1, 
    out normalizedUrl, out parameters);

    signature = HttpUtility.UrlEncode(signature);

    StringBuilder requestUri = new StringBuilder(uri.ToString()); 
    requestUri.AppendFormat("?oauth_consumer_key={0}&", consumerKey); 
    requestUri.AppendFormat("oauth_nonce={0}&", nonce); 
    requestUri.AppendFormat("oauth_timestamp={0}&", timeStamp); 
    requestUri.AppendFormat("oauth_signature_method={0}&", “HMAC-SHA1"); 
    requestUri.AppendFormat("oauth_version={0}&", “1.0"); 
    requestUri.AppendFormat("oauth_signature={0}", signature);

    var request = (HttpWebRequest)WebRequest.Create(new Uri(requestUri.ToString())); 
    request.Method = WebRequestMethods.Http.Get;

    var response = request.GetResponse();

    var queryString = new StreamReader(response.GetResponseStream()).ReadToEnd();

    var parts = queryString.Split(’&’); 
    var token = parts[1].Substring(parts[1].IndexOf(’=’) + 1); 
    var tokenSecret = parts[0].Substring(parts[0].IndexOf(’=’) + 1);

    queryString = String.Format("oauth_token={0}", token); 
    var authorizeUrl = “http://www.MagentoWebsite.com/admin/oauth_authorize?”+queryString; 
    Process.Start(authorizeUrl); 
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会返回BAD REQUEST响应.

nic*_*ane 7

我最近为Magento开始了一个C#REST API客户端项目,它可以帮助你:

https://github.com/nickvane/Magento-RestApi

它尚未完成功能,但实现了oauth身份验证.该代码使用restsharp,它支持oauth身份验证.


bba*_*aia 0

您可以使用 Spring.NET Social 快速创建客户端 REST API: http://www.springframework.net/social/

Magento 与 Twitter 一样使用 OAuth 1.0a 身份验证。您可以在这里查看 Twitter 的实现: http: //www.springframework.net/social-twitter/

以及带有分步说明的相关文档: http://www.springframework.net/social/refdoc/implementing.html