Сбой запроса API-интерфейса LinkedIn: «Недопустимые поля, присутствующие в RESOURCE_KEY: исключение обработки данных при обработке полей [/ memberId]» - PullRequest
3 голосов
/ 18 октября 2019

Я пытаюсь выполнить следующий запрос:

GET https://api.linkedin.com/v2/people/(id:urn:li:person:<person id>)?oauth2_access_token=<token>&projection=(results*(localizedFirstName,vanityName))

Но я всегда получаю:

{
    "serviceErrorCode": 100,
    "message": "Unpermitted fields present in RESOURCE_KEY: Data Processing Exception while processing fields [/memberId]",
    "status": 403
}

Если я пытаюсь сделать это с помощью альтернативного API:

GET https://api.linkedin.com/v2/people?ids=List((id:urn:li:person:<person id>))&oauth2_access_token=<token>&projection=(results*(localizedFirstName,vanityName))

Возвращается внутренняя ошибка сервера:

{
    "message": "Internal Server Error",
    "status": 500
}

Я использую Google Chrome для выполнения этих запросов.

Я тоже пытался использовать Postman.

Заголовки:

X-Restli-Protocol-Version: 2.0.0
Authorization: Bearer <token>

Получено:

{
    "serviceErrorCode": 0,
    "message": "Syntax exception in path variables",
    "status": 400
}

Разрешения моего приложения:

  • r_emailaddress
  • r_ads
  • w_organization_social
  • rw_ads
  • r_basicprofile
  • r_liteprofile
  • r_ads_reporting
  • r_organization_social
  • член организации 1043_43

Я пробовал другие API (socialActivity, ugcPosts) и все выглядит нормально.

Я проверил использование API на https://www.linkedin.com/developers/apps/<id>/usage и people использование в настоящее время составляет 0%.

Проверенные профили пользователей также общедоступны.

Ответы [ 2 ]

2 голосов
/ 18 октября 2019

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

Использование:

projection=(localizedFirstName,vanityName)

Вместо:

projection=(results*(localizedFirstName,vanityName))

Как пример:

curl -H "X-Restli-Protocol-Version: 2.0.0" \
"https://api.linkedin.com/v2/me?oauth2_access_token=<TOKEN>&projection=(id)"

Вернет

{
  "id": <ID>
}

и будет использовать его как:

curl -H "X-Restli-Protocol-Version: 2.0.0" \
"https://api.linkedin.com/v2/people/(id:<ID>)?oauth2_access_token=<TOKEN>&projection=(localizedFirstName,vanityName)"

Итак:

{
  "vanityName": "<VANITY-NAME>",
  "localizedFirstName": "<NAME>"
}

Надеюсь, эта помощь

2 голосов
/ 18 октября 2019

параметру id нужен только person_id, но вы предоставляете urn. Попробуйте это https://api.linkedin.com/v2/people/(id:person_id) и не забудьте включить X-RestLi-Protocol-Version: 2.0.0 в заголовок при выполнении вызова.

...