2013-07-10 6 views
0

OAuth v2를 사용하여 LinkedIn에 공유를 게시하려고합니다. 권한이 올바르게 부여되어 있으며 적절한 액세스 키가 있습니다.LinkedIn 공유 API RestClient를 사용합니다

게시에 : https://api.linkedin.com/v1/people/~/shares?oauth2_access_token=(access 토큰)

공유 XML은 :

> <?xml version="1.0" encoding="UTF-8"?> <share> <content> <title>White 
> Cobalt Ltd</title> <description>Test</description> 
> <submitted-url>http://bit.ly/LpNpQH</submitted-url> </content> 
> <visibility> <code>anyone</code> </visibility> </share> 

코드 포스트 (C#을)에 : 나는 API 콘솔을 사용하는 경우

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 
} 

이 (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 [email protected]://api.linkedin.com/v1: document element local name mismatch expected share got String</message> 
</error> 

도움말!

답변

0

은 내가 해결책을 찾을 생각 - 어떤 이유로 링크드 인 API를 위해 RESTClient 기능을 좋아하지 않는다 :

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

이 코드가 작동하기 시작했다 : 나는 그것을 대체 할 때

oRequest.AddBody(xml); 

을 정확하게 - 약간 다른 방식으로 게시물 데이터를 추가해야합니다.