2013-07-30 40 views
0

我掙扎在LinkedIn新增評論意見,過去一個星期,但我沒有得到解決但如何使用RestSharp庫在Linkedin中發佈評論?

protected void Page_Load(object sender, EventArgs e) 
{ 
    string ConsumerKey = "**********"; 
    string ConsumerSecret = "**********"; 
    string Token = "**********"; 
    string TokenSecret = "**********"; 

    string xmlContent = "<?xml version='1.0' encoding='UTF-8'?>" + Environment.NewLine + 
     "<comment>" + Environment.NewLine + 
     "<text>Check out</text>" + Environment.NewLine + 
     "</comment>"; 
    byte[] dataBytes = Encoding.Default.GetBytes(xmlContent); 

    var postData = new Dictionary<string, string>() 
    { 
     {"key1","value1"} 
    }; 
    String requestUrl = "http://api.linkedin.com/v1/posts/{post-id}/comments?oauth_token=" + Token; 

    RestClient rc = new RestClient(); 
    RestRequest request = new RestRequest(requestUrl, Method.POST); 
    request.AddHeader("Content-Type", "application/xml"); 
    request.AddHeader("x-li-format", "xml"); 

    request.RequestFormat = DataFormat.Xml; 
    request.AddBody(xmlContent); 

    RestResponse restResponse = (RestResponse)rc.Execute(request); 
    ResponseStatus responseStatus = restResponse.ResponseStatus; 
} 

我得到一個錯誤

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
<error> 
    <status>401</status> 
    <timestamp>1375175962003</timestamp> 
    <request-id>10K340J5W6</request-id> 
    <error-code>0</error-code> 
    <message>[unauthorized]. ssl_required</message> 
</error> 

我想要的解決方案。提前致謝。

回答

0

我可以看到兩件事情是錯誤的。

  1. 錯誤說你需要使用SSL(ssl_required),因此URL應該是 '字符串requestUrl = 「https://api.linkedin ......' 而不是 '字符串requestUrl =」 http://api.linkedin ...'

  2. 的restSharp.AddBody將編碼對象,我相信你需要使用

    request.AddParameter("text/xml", xmlContent, ParameterType.RequestBody); 
    

    代替

    request.AddBody(xmlContent); 
    

    line。