Get linkedin Ток доступа с JavaScript SDK

Я работаю над этим приложением, чтобы пользователь мог подключиться к linkedin (используя javascript). Я хочу сохранить токен доступа, который я получил от IN.ENV.auth.oauth_token, потому что я буду использовать его для публикации на временной шкале пользователя.

Но когда я использую этот токен доступа для публикации в Linkedin, я получил ошибку "Недействительный токен доступа". Я использовал правильный токен доступа? Как правильный способ получить токен доступа?

Здесь мой код:

$("#linkedin-connect").on('click',function(e){  
    e.preventDefault();
    IN.UI.Authorize().place();
    IN.Event.on(IN, "auth", OnLinkedInAuth);  
    return false;
});

function OnLinkedInAuth() {
    console.debug("oauth token:" + IN.ENV.auth.oauth_token);
}

Пример JSFiddle

Ответы

Ответ 1

это событие IN.Event.on(IN, "auth", OnLinkedInAuth); должно передать некоторые данные вашей функции OnLikedInAuth, как показано в документации к sdk.

<script type="text/javascript" src="//platform.linkedin.com/in.js">
    api_key: YOUR_API_KEY_HERE
    authorize: true
    onLoad: onLinkedInLoad
</script>

<script type="text/javascript">

// Setup an event listener to make an API call once auth is complete
function onLinkedInLoad() {
    IN.Event.on(IN, "auth", getProfileData);
}

// Handle the successful return from the API call
function onSuccess(data) {
    console.log(data);
}

// Handle an error response from the API call
function onError(error) {
    console.log(error);
}

// Use the API call wrapper to request the member basic profile data
function getProfileData() {
    IN.API.Raw("/people/~").result(onSuccess).error(onError);
}

В качестве примера (доступного в документах) getProfileData (аналогично вашему OnLinkedInAuth) возвращает Promise, и когда он разрешит, вы получите несколько data, которые вам нужно прочитать. В этом объекте вы найдете маркер, который вы можете сохранить (LocalStorage), и используйте