LinkedIn API 请求失败 "Unpermitted fields present in RESOURCE_KEY: Data Processing Exception while processing fields [/memberId]"

LinkedIn API request fails with "Unpermitted fields present in RESOURCE_KEY: Data Processing Exception while processing fields [/memberId]"

我正在尝试以下请求:

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。

Headers:

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

得到:

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

我的应用权限是:

我尝试了其他 APIs(socialActivity、ugcPosts),一切正常。

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

测试的用户配置文件也是public。

id 参数只需要 person_id 但您提供 urn.Try 这个 https://api.linkedin.com/v2/people/(id:person_id) 并且不要忘记在 [=16= 中包含 X-RestLi-Protocol-Version:2.0.0 ] 正在打电话。

您应该只使用 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)"

会return

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

希望对您有所帮助