LinkedIn недавно обновил свои системы API и добавил много новых ограничений. Мы рассмотрим несколько примеров того, как вы можете использовать LinkedIn Javascript API, чтобы настроить некоторые полезные функции, соответствующие новым условиям и вариантам использования LinkedIn.

Подготовка вашего сайта

Первым шагом будет настройка кнопки входа в систему, которая предложит пользователю пройти аутентификацию с использованием своих учетных данных LinkedIn. Мы предоставили руководство по базовой настройке кнопки входа здесь. Связанное руководство поможет вам настроить кнопку, которая позволит вашим пользователям входить в систему с помощью LinkedIn и отображать персонализированное приветственное сообщение. Ниже мы рассмотрим расширение этой функциональности, чтобы вы могли обрабатывать более сложные функции для ваших пользователей после входа в систему.

Обработка событий

Вы можете контролировать и инициировать определенное поведение после входа пользователя в систему. Вы можете назначить эти обработчики событий, сначала установив функцию, которая будет использоваться для инициализации событий. Это вызовет назначение события после того, как скрипты LinkedIn будут загружены на вашу страницу. Обновите скрипт инициализации LinkedIn:

<!--
api_key: 
authorize: true
onLoad: onLinkedInLoad
-->

Это вызовет функцию onLinkedInLoad после загрузки скриптов Linkedin.

Теперь вы можете назначить некоторые обработчики событий LinkedIn в этой функции для управления поведением, которое будет происходить при различных действиях пользователя LinkedIn. Давайте начнем с определения поведения, которое происходит после входа пользователя в систему.

<!--
function onLinkedInLoad() {
    IN.Event.on(IN, "auth", getProfileData);
}
-->

Вышеприведенное событие сработает, когда пользователь авторизуется, и вызовет функцию getProfileData. Мы можем добавить другое назначение события для выхода пользователя из системы.

<!--
function onLinkedInLoad() {
    IN.Event.on(IN, "auth", getProfileData);
    IN.Event.on(IN, "logout", sendGoodByeMessage);
}
-->

Вышеупомянутое событие выхода вызовет sendGoodByeMessage, когда пользователь выйдет из системы. Теперь, когда у нас есть базовая обработка событий, мы можем обрабатывать конкретное поведение пользователей, входящих в систему.

Извлечение данных и доступ к API

После того, как пользователь вошел в систему и инициировал событие getProfileData, мы можем получить его профиль пользователя с помощью обработчиков API необработанных данных LinkedIn, которые позволяют вам получить доступ к любой из конечных точек API LinkedIn и получить данные обратно. Мы начнем с быстрой проверки, чтобы убедиться, что пользователь все еще авторизован, а затем вызовем Raw API, чтобы получить конечную точку людей для текущего пользователя:

<!--
function getProfileData() {
    if(IN.User.isAuthorized())
        IN.API.Raw("/people/~").result(onSuccess).error(onError);
}
-->

Если данные успешно возвращены, он вызовет функцию onSuccess, а если нет, то вызовет onError.

Обе эти функции будут включать ответ в формате JSON, который можно использовать для отображения данных их профиля или регистрации сообщения:

<!--
function onSuccess(data) {
    console.log(data);
}
function onError(error) {
    console.log(error);
}
-->

Вы можете протестировать форматы ответов для большинства API-интерфейсов LinkedIn на консоли API LinkedIn: https://apigee.com/console/linkedin. ваши требования.

Управление пользователями

Прежде чем делать какие-либо запросы API, вы должны убедиться, что у вашего пользователя есть текущий активный сеанс. Сеансы пользователей действительны в течение 30 минут по умолчанию. Эти сеансы можно расширить с помощью следующего вызова:

<!--
IN.User.refresh()
-->

Приведенный выше вызов можно использовать для обновления времени истечения срока действия для пользователя, но повторные вызовы могут привести к блокировке вашего приложения, поэтому его следует использовать с осторожностью.

Вы можете предоставить своим пользователям возможность выхода из системы, настроив кнопку или ссылку, которая вызовет следующий вызов функции:

<!--
IN.User.logout(sendGoodByeMessage);
-->

Это вызовет ту же функцию, которая была назначена для события выхода из системы.

Первоначально опубликовано на https://www.loginradius.com.