使用Share Api发布到Linkedin

我在Asp.net应用程序中实现LinkedIN Share Api时遇到了困难。 谁能帮我 ? 我找到了LinkedIN Share API的文档( https://developer.linkedin.com/documents/share-api )。 这是说我应该创建一个XML进行共享,并将其发布到URL“ http://api.linkedin.com/v1/people/~/shares ”

阅读本文后我有两个疑问

  1. 如何将令牌与XML一起传递给服务器,文档中没有告知它?
  2. 他发布的XML内容的名称/密钥应该是什么?

要求是:我需要与帐户中链接的用户共享更新(“只是文本”。要共享的文本由用户通过文本框提供(因此它只包含文本)

我正在使用LinkedIn OAuth Library 0.6.1 For Authentication 。 由于我在这个库中没有找到任何方法(有助于发布),我打算直接使用Share API。 并使用“ HttpWebRequest ”类发布到Linkedin

我到现在为止做了什么:

1.处理链接的应用程序,所以我得到了App-Key和App-Key 2.为了进行身份validation,使用OAuth Library 0.6.1中的BeginAuthMethod将用户重定向到链接

 var token = OAuthManager.Current.CreateToken(callback: this.AppRedirectUrl); OAuthManager.Current.BeginAuth (token, endResponse: true, displayAllowDenyScreen: false); 

3.身份validation后我收到来自链接的响应,我使用该身份validation令来获取这样的usertoken

 var token = OAuthManager.Current.GetTokenInCallback(); var session = OAuthManager.Current.CompleteAuth(token); this.UserToken = token.Token; this.UserSecret = token.TokenSecret; 

4.我创建了一个类似这样的XML:

   83% of employers will use social media to hire: 78% LinkedIn, 55% Facebook, 45% Twitter [SF Biz Times] http://bit.ly/cCpeOD  Survey: Social networks top hiring tool - San Francisco Business Times   anyone   

5.现在我有App-Key,App-Secret,User-Token和User-Secret,我有xml和url发布(即http://api.linkedin.com/v1/people/~ /股 )

如何使用令牌将此xml发布到url? 任何人都可以提供一些/任何有关此事的信息吗?

我在java中遇到了一个相同的例子。 链接是“ https://developer.linkedin.com/documents/writing-linkedin-apis ”。但我需要在.NET中使用它

使用此方法发布到LinkedIn共享。 该方法假定您具有方便的访问accesstoken

 private string linkedinSharesEndPoint = "https://api.linkedin.com/v1/people/~/shares?oauth2_access_token={0}"; private const string defaultUrl = "some-url"; private const string defaultImageUrl = "some-image-url"; public bool PostLinkedInNetworkUpdate(string accessToken, string title, string submittedUrl = defaultUrl, string submittedImageUrl = defaultImageUrl) { var requestUrl = String.Format(linkedinSharesEndPoint, accessToken); var message = new { comment = "Testing out the LinkedIn Share API with JSON", content = new Dictionary { { "title", title }, { "submitted-url", submittedUrl }, {"submitted-image-url" , submittedImageUrl} }, visibility = new { code = "anyone" } }; var requestJson = new JavaScriptSerializer().Serialize(message); var client = new WebClient(); var requestHeaders = new NameValueCollection { { "Content-Type", "application/json" }, { "x-li-format", "json" } }; client.Headers.Add(requestHeaders); var responseJson = client.UploadString(requestUrl, "POST", requestJson); var response = new JavaScriptSerializer().Deserialize>(responseJson); return response.ContainsKey("updateKey"); } 

请注意,我已将submittedUrlsubmittedImageUrl可选。