我正在尝试以下请求:
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
}
我正在使用谷歌浏览器来执行这些请求。
我也尝试使用邮递员。
头:
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(社交活动,ugcPosts(,一切看起来都很好。
我在https://www.linkedin.com/developers/apps/<id>/usage
时检查了我的 API 使用情况,people
使用率目前为 0%。
测试的用户配置文件也是公开的。
您应该只使用 id(而不是骨灰盒(。字段投影也是错误的:
用:
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>"
}
希望这个帮助
id 参数只需要person_id但您正在提供 urn。试试这个 https://api.linkedin.com/v2/people/(id:person_id(,不要忘记在调用时在标头中包含 X-RestLi-Protocol-Version:2.0.0。