关于LinkedIn Developer API通过VanityName获取他人资料的权限问题求助
解决LinkedIn API通过VanityName查询资料的403权限问题
核心问题分析
你遇到的403错误直接原因是访问令牌缺少对应API的权限,且LinkedIn对获取他人邮箱有严格的隐私限制,以下是具体解决方案:
1. 确认所需权限
- 查询他人公开基本资料(通过vanityName):必须确保你的OAuth 2.0令牌包含
r_liteprofile权限(LinkedIn v2版本的基础资料权限,替代旧版r_basicprofile) - 关于邮箱:LinkedIn API不允许获取非授权用户的邮箱地址——哪怕你有对方的连接关系,
r_emailaddress权限仅能用于获取授权用户(即你调用/me接口对应的用户)自己的邮箱,这是平台隐私政策强制限制
2. 检查令牌权限范围
申请令牌时,必须明确请求r_liteprofile权限。可以通过以下方式验证:
- 调用
/me接口并添加投影字段,确认能返回基本资料,说明r_liteprofile权限已生效:GET https://api.linkedin.com/v2/me?projection=(id,localizedFirstName,localizedLastName) - 若令牌未包含该权限,需要重新发起OAuth授权流程,在授权请求中指定
scope=r_liteprofile
3. 修正API调用格式
LinkedIn v2的people接口查询vanityName时,必须指定返回字段的投影(否则即使权限正确也可能返回异常),正确请求示例:
GET https://api.linkedin.com/v2/people?q=vanityName&vanityName=siva-vanity-url-value&projection=(id,localizedFirstName,localizedLastName,profilePicture(displayImage~:playableStreams))
4. 关于获取他人邮箱的补充说明
LinkedIn的API规则明确禁止通过接口获取他人邮箱,这是为了保护用户隐私。如果需要获取他人邮箱,只能通过以下合法方式:
- 让用户主动提供邮箱地址
- 在LinkedIn平台内向对方发送消息请求邮箱
内容的提问来源于stack exchange,提问作者Shiva Kumar
相关产品推荐
相关产品推荐

