我在Asp.net应用程序中实现LinkedIN Share Api时遇到了困难。谁能帮我 ?
我找到了LinkedIN Share API
(https://developer.linkedin.com/documents/share-api)的文档。
这是说我应该创建一个XML进行共享,并将其发布到URL“http://api.linkedin.com/v1/people/~/shares”
阅读本文后我有两个疑问
要求是:我需要与帐户中链接的用户共享更新(“只是文本”)。 要共享的文本由用户通过文本框提供(因此它只包含文本)
我正在使用LinkedIn OAuth Library 0.6.1 For Authentication
。由于我在这个库中找不到任何方法(有助于发布),我打算直接使用Share API。并使用“HttpWebRequest
”类
到目前为止我做了什么:
1.处理了一个链接的应用程序,所以我得到了App-Key和App-Key 2.为了进行身份验证,使用OAuth Library 0.6.1中的BeginAuthMethod将用户重定向到链接
var token = OAuthManager.Current.CreateToken(callback: this.AppRedirectUrl);
OAuthManager.Current.BeginAuth (token, endResponse: true, displayAllowDenyScreen: false);
3.身份验证后我收到来自链接的响应,我使用该身份验证令来获取这样的usertoken
var token = OAuthManager.Current.GetTokenInCallback();
var session = OAuthManager.Current.CompleteAuth(token);
this.UserToken = token.Token;
this.UserSecret = token.TokenSecret;
4.我创建了一个类似这样的XML:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<share>
<comment>83% of employers will use social media to hire: 78% LinkedIn, 55% Facebook, 45% Twitter [SF Biz Times] http://bit.ly/cCpeOD</comment>
<content>
<title>Survey: Social networks top hiring tool - San Francisco Business Times</title>
</content>
<visibility>
<code>anyone</code>
</visibility>
</share>
5.现在我有App-Key,App-Secret,User-Token和User-Secret,我有xml和url发布(即http://api.linkedin.com/v1/people/~/shares)
如何使用令牌将此xml发布到网址?任何人都可以提供一些有关此事的信息吗?
我在java中遇到了一个相同的例子。链接是“https://developer.linkedin.com/documents/writing-linkedin-apis”。但我需要在.NET中使用它
答案 0 :(得分:7)
使用此方法发布到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<string, string>
{ { "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<Dictionary<string, object>>(responseJson);
return response.ContainsKey("updateKey");
}
请注意,我已submittedUrl
和submittedImageUrl
可选。