Вопрос по asp.net, c#, linkedin – Опубликовать в Linkedin с помощью Share Api

5

Я сталкиваюсь с трудностями при реализации LinkedIN Share Api в приложении Asp.net. Может кто-нибудь мне помочь ?   Я нашел документацию дляLinkedIN Share API (https://developer.linkedin.com/documents/share-api). It is saying that i should create a XML for sharing and should post this to the URL "http://api.linkedin.com/v1/people/~/shares& Quot;

У меня есть два сомнения после прочтения этого документа

How to pass the tokens to the server along with the XML, it is not told in the documentation? What should be he name/key of the XML Content Posted?

Требование: мне нужно предоставить обновление (& quot; просто текст) пользователям, связанным в аккаунте. Текст для обмена предоставляется пользователем через текстовое поле (поэтому он будет содержать только текст)

Я используюLinkedIn OAuth Library 0.6.1 For Authentication, Поскольку я не нашел в этой библиотеке какого-либо метода (который помогает публиковать сообщения), я планирую напрямую использовать Share API. И опубликовать в Linkedin, используя класс & quot;HttpWebRequest& Quot;

Что я делал до сих пор:

1. Создал приложение в связанном виде, поэтому я получил App-Key и App-Key 2. Для аутентификации перенаправляет пользователя на связывание с помощью BeginAuthMethod в библиотеке OAuth 0.6.1, как это

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

3.После аутентификации я получаю ответ от связанного пользователя и использую этот токен для получения токена пользователя, подобного этому.

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 на URL с помощью токенов? Может ли кто-нибудь дать какую-либо информацию об этом?

Я сталкивался с примером в Java, делающим то же самое. ссылка & quot;https://developer.linkedin.com/documents/writing-linkedin-apis& quot;. Но мне это нужно в .NET

В вышеприведенном запросе есть много ключейin which some of them i have with me they are OAuth oauth_consumer_key = [App Key], oauth_token = [Auth_tokn]  Ноi dont have some other keys like : oauth_signature, oauth_nonce‌ How can i generate these keys? shajivk
я сделал сообщение, используя LinkedIn Rest-Console, см. запрос сгенерированPOST /v1/people/~/shares HTTP/1.1 Authorization: OAuth oauth_consumer_key="w_1233373R-J97_wH3_131231kL9netWMe90_OM1233gQzip-ssCmwKWyJU",oauth_signature_method="HMAC-SHA1",oauth_timestamp="11233865",oauth_nonce="20012339",oauth_version="1.0",oauth_token="5f3c5cf2-e661-41bd-1230-274312361",oauth_signature="Fdw6%2BJh2133123brPeZGY%3D" Host: api.linkedin.com Content-Length: 634 X-Forwarded-For: 10.203.10.109 X-Target-URI: http://api.linkedin.com Content-Type: application/xml Connection: Keep-Alive [Here Comes XML] shajivk

Ваш Ответ

1   ответ
7

агает, что у вас есть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 необязательный.

Это был ваш комментарий о необязательном представленном URL, который заставил меня найти ответ на мою проблему Спасибо! +1

Похожие вопросы