调用LinkedIn API获取用户职位及头像URL返回信息不全如何解决
LinkedIn v2 API 缺失字段排查方案
1. 权限配置调整
- 你使用的
r_basicprofile权限在LinkedIn v2 API中仅支持返回id、firstName、lastName三个基础字段,无法覆盖职位、头像字段的访问权限,需要做两处调整:- 要获取职位
positions字段:需在应用后台申请r_fullprofile权限,同时要确保该权限审核通过后纳入授权范围 - 要获取头像信息:需额外添加
r_liteprofile权限
- 要获取职位
- 权限配置完成后必须重新走用户授权流程,获取新的access token才能生效,旧token不会自动同步新权限。
2. 接口字段及参数修正
- 你请求参数里的
picture-url是LinkedIn v1 API的字段名,v2版本已废弃该字段,头像对应字段调整为profilePicture,同时positions字段的展开规则也需要对应调整,projection参数修改为以下格式即可:projection=(id,firstName,lastName,positions,profilePicture(displayImage~:playableStreams)) - 调整后的完整请求示例:
https://api.linkedin.com/v2/people/(id:<userID>)?oauth2_access_token=<AccessToken>&projection=(id,firstName,lastName,positions,profilePicture(displayImage~:playableStreams))
3. 额外校验规则
- 发起OAuth授权请求时,scope参数必须包含所有你在后台开启的权限,仅后台开启权限但未在授权请求的scope字段中添加的话,生成的access token不会携带对应权限,依旧无法获取对应字段。
r_fullprofile属于LinkedIn限制开放的高级权限,普通个人开发者应用需先通过LinkedIn平台的产品应用审核,否则无法获取该权限的调用资格。
内容的提问来源于stack exchange,提问作者gjanez
相关产品推荐
相关产品推荐

