使用Share API发布到LinkedIn,>

问题描述 投票:5回答:1

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

阅读本文档后我有两个疑问

  1. 如何将令牌与XML一起传递到服务器,文档中没有说明?
  2. 他发布的XML内容的名称/关键字应该是什么?
  3. [要求是:我需要与帐户中关联的用户共享更新(“纯文本”)。用户要通过文本框指定要共享的文本(因此,它将仅包含文本)

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

我到目前为止所做的:

1。在链接中创建了一个应用,因此我得到了App-Key和App-Key2.为了进行身份验证,请使用OAuth库0.6.1中的BeginAuthMethod将用户重定向到链接,例如:

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

3。身份验证之后,我收到来自链接入的响应,并且我使用该auth-token来像这样获取用户令牌

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://example.com</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发布到url ?。谁能提供与此相关的一些/任何信息?

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

我在Asp.net应用程序中实现LinkedIN Share Api时遇到困难。谁能帮我 ?我找到了LinkedIN Share API的文档(https://developer.linkedin.com / ...

c# asp.net linkedin
1个回答
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");
}
© www.soinside.com 2019 - 2024. All rights reserved.