Как получить данные пользователя после входа в систему с помощью 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