Linked In API возвращает 403 (Запрещено) при запросе адреса электронной почты - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь получить адрес электронной почты пользователя из его Linked In.

Я завершаю весь поток кода авторизации OAuth 2.0 и получаю токен доступа, но когда я делаю GET-запрос к конечной точке https://api.linkedin.com/v2/me?projection=(email-address), он возвращает код состояния HTTP 403 (запрещено).

Вот что происходит:

  1. Когда я указываю r_liteprofile r_email-address в качестве разрешения в параметре scopeпри запросе кода авторизации и при запросе данных, как fields, параметр projection=(localizedFirstName, localizedLastName, email-address), я получаю код состояния HTTP 200, но в результате JSON я получаю только localizedFirstName и localizedLastName values.

  2. Если я указываю только разрешение r_emailaddress в параметре scope и projection=(email-address) при запросе данных, я получаю код состояния 403 (Запрещено).

  3. Если я укажу только r_emailaddress в поле scope и опущу указание каких-либо полей, то есть я попал в конечную точку https://api.linkedin.com/v2/me без каких-либо параметров (но токен доступа был отправлен соответствующим образом взаголовок Authorization как маркер схемы Bearer,Я получаю код состояния HTTP 403 (запрещено).

Мое приложение имеет разрешение на r_emailaddress, так как это базовое разрешение, которое предоставляется всем приложениям при создании и не требуется.утверждение.

enter image description here

Ударяю ли я в нужную конечную точку для получения адреса электронной почты?Кажется, все в порядке, но я все еще получаю 403. Что происходит?

1 Ответ

1 голос
/ 03 мая 2019

Запрос на получение адреса электронной почты:

GET https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))

Вам нужно запросить область действия r_emailaddress для использования этой конечной точки.

См. https://docs.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/sign-in-with-linkedin?context=linkedin/consumer/context для справки.

...