Как получить имя пользователя учетной записи LinkedIn

#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 года