LinkedIn API请求失败,并显示“ RESOURCE_KEY中存在不允许的字段:处理字段[/ memberId]时发生数据处理异常”

时间:2019-10-17 22:14:19

标签: linkedin linkedin-api

我正在尝试以下请求:

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浏览器执行这些请求。

我也尝试过使用邮递员。

标题:

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
  • rw_organization_admin
  • w_member_social

我尝试了其他API(socialActivity,ugcPosts),一切看起来都很好。

我在https://www.linkedin.com/developers/apps/<id>/usage处检查了API的使用情况,而people的使用情况目前为0%。

经过测试的用户个人资料也是公开的。

2 个答案:

答案 0 :(得分:2)

id参数仅需要person_id,但您要提供urn。尝试使用此https://api.linkedin.com/v2/people/(id:person_id),并且不要忘记在进行调用时在标题中包含X-RestLi-Protocol-Version:2.0.0。

答案 1 :(得分:2)

您应该只使用id(而不是urn)。而且字段投影错误

使用:

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>"
}

希望获得帮助