簡體   English   中英

使用RestClient的LinkedIn Share API

[英]LinkedIn Share API using RestClient

我正在嘗試使用OAuth v2將共享發布到LinkedIn-我已正確獲得授權並具有適當的訪問密鑰。

發布到: https : //api.linkedin.com/v1/people/~/shares? oauth2_access_token =(訪問令牌)

共享XML:

> <?xml version="1.0" encoding="UTF-8"?> <share> <content> <title>White
> Cobalt Ltd</title> <description>Test</description>
> <submitted-url>https://www.whitecobalt.com/</submitted-url> </content>
> <visibility> <code>anyone</code> </visibility> </share>

發布代碼(C#):

RestClient oRC = new RestClient();
RestRequest oRequest = new RestRequest(sURL, Method.POST);
oRequest.AddHeader("Content-Type", "application/xml");
oRequest.AddHeader("x-li-format", "xml");
oRequest.RequestFormat = DataFormat.Xml;
oRequest.AddBody(xml);

RestResponse oResponse = (RestResponse)oRC.Execute(oRequest);
if ((oResponse.ResponseStatus == ResponseStatus.Completed) && (oResponse.StatusCode == HttpStatusCode.Accepted))
{
... success
}

當我使用API​​控制台( https://apigee.com/console/linkedin )時,它可以正常工作,但是當我嘗試通過代碼運行它時(據我所知,它做的完全相同)。出現以下錯誤:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<status>400</status>
<timestamp>1373465292361</timestamp>
<request-id>FQEJFQOL6U</request-id>
<error-code>0</error-code>
<message>Couldn't parse share document: error: The document is not a share@http://api.linkedin.com/v1: document element local name mismatch expected share got String</message>
</error>

我相信我找到了解決方案-由於某種原因,LinkedIn API不喜歡RestClient函數:

oRequest.AddBody(xml); 

當我替換為:

oRequest.AddParameter("application/xml", sbXML.ToString(), ParameterType.RequestBody);

代碼開始正常工作-必須以稍微不同的方式添加Post數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM