#linkedin #linkedin-api
#LinkedIn #linkedin-api
Вопрос:
Я реализовал операцию singin с LinkedIn через протокол Oauth2 и получаю информацию об ответе о профиле, как показано на рисунке :
{
"localizedLastName": "xxxxxxx",
"profilePicture": {
"displayImage": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"firstName": {
"localized": {
"fr_FR": "xxxxxxxxxxxx"
},
"id": "xxxxxxxx",
....
}
Но в моем случае мне нужно сохранить уникальное имя пользователя, и я думаю, что я могу получить его только по ссылке профиля https://www.linkedin.com/in/xxxxxx-xxxxxx-889031a0 /
итак, как получить эту ссылку на профиль?
Ответ №1:
Я думаю, вы ищете vanityName
API профиля из документа:
vanityName: тщеславное имя участника. Имя тщеславия представлено в виде строки, используемой для URL-адреса общедоступного профиля:
www.linkedin.com/in/{vanityName}
.
Таким образом, вы могли бы использовать следующий завиток с проекцией на запрошенное поле:
curl -H "Authorization: Bearer <auth-token>"
"https://api.linkedin.com/v2/me?projection=(localizedFirstName,vanityName)"
вернет:
{
"vanityName": "bsmith",
"localizedFirstName": "Bob"
}
Разрешение приложения
Дважды проверьте, что у вашего приложения есть хотя бы basicprofile
разрешение (области OAuth 2.0): значения по умолчанию lite-profile
недостаточно. Итак, смотрите в консоли приложения https://www.linkedin.com/developers/apps/<app-id>/auth
, у вас должно быть как минимум:
r_basicprofile: используйте свой базовый профиль, включая ваше имя, фотографию, заголовок и URL-адрес общедоступного профиля
Комментарии:
1. к сожалению, он возвращает только «localizedFirstName»
2. Привет @barsawi13 вероятно, это связано с отсутствием разрешения области действия (я обновил свой ответ)
3. я использую LinkedIn Api V2 с областью r_liteprofile , и у него нет области r_basicprofile , поскольку Api V1 устарел с мая 2019 года