Как получить данные пользователя после входа в систему с помощью LinkedIn

Я реализовал логин с LinkedIn, и после успешного входа в систему session.getAccessToken().toString() я получаю access token. Теперь мне нужен полный профиль пользователя и его список подключений. Но я не могу получить эту информацию из LinkedIn.

Я вызываю его вызов API-клиента REST, который был указан в официальном документе, как этот

https://api.linkedin.com/v1/people/~

В этом я передаю токен доступа как oauth2_access_token, который я получил после входа в систему. Но в ответ я получаю

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
    <status>401</status>
    <timestamp>1440998578838</timestamp>
    <request-id>P6GDCHJ13P</request-id>
    <error-code>0</error-code>
    <message>Unable to verify access token</message>
</error>

Я уже пробовал различные решения, как указано здесь:

LinkedIn OAuth2: "Не удалось проверить токен доступа"

https://github.com/lepture/flask-oauthlib/issues/35

Как получить всю возможную информацию о учетной записи LinkedIn? (API с использованием С#)

Ответ 1

Согласно официальной документации, было указано, что для совершения вызовов LinkedIn REST API вам необходимо вызвать метод APIHelper.getRequest() или APIHelper.postRequest() для GET и POST вызов соответственно; и получить все запрошенные данные пользователя, которому необходимо сделать URL REST, которые уже указаны в их документации. Вот быстрый пример для получения пользовательских данных basic_profile:

String url = "https://api.linkedin.com/v1/people/~:(id,first-name,last-name)";

APIHelper apiHelper = APIHelper.getInstance(getApplicationContext());
apiHelper.getRequest(this, url, new ApiListener() {
    @Override
    public void onApiSuccess(ApiResponse apiResponse) {
        // Success!
        Log.d("linkedin response for data", apiResponse.getResponseDataAsJson().toString());
    }

    @Override
    public void onApiError(LIApiError liApiError) {
        // Error making GET request!
    }
});

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

Ответ 2

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

Если вы являетесь партнером, вы должны следить за технической репутацией партнера LinkedIn. Если нет, вы можете подать заявку, чтобы стать партнером LinkedIn здесь: https://developer.linkedin.com/partner-programs/apply

Ответ 3

Для получения базовой информации вы можете проверить запросы, которые выполняет интерфейс Frontline Frontline, при отображении профиля и подключений, чтобы вы могли просто делать одни и те же вызовы и использовать ответ JSON в своем приложении. Вы даже можете использовать поисковый вызов, чтобы найти ссылку на профиль.

Ответ 4

Его легко, просто назовите его так:

https://api.linkedin.com/v1/people/~?oauth2_access_token=ACCESS-TOKEN-GOES-HERE