LinkedIn Profile API集成权限求助:OpenID认证后无法访问端点
解决LinkedIn Profile API访问权限问题
是的,通过OpenID Connect成功认证后,访问Profile API确实需要额外的权限申请和配置步骤,具体如下:
申请Profile API专属权限
LinkedIn的「Sign In with LinkedIn using OpenID Connect」仅默认授予基础用户信息访问权限(对应userInfo端点)。要访问Profile API,你需要在开发者平台的应用权限设置中,额外申请对应的权限:r_liteprofile:用于获取用户轻量公开资料(如姓名、头像、职业头衔等)r_fullprofile:用于获取完整用户资料(此权限目前仅对部分认证开发者开放,审核严格)
提交权限申请后,需等待LinkedIn审核通过(测试环境可能无需审核,但生产环境必须完成审核)。
授权时请求正确的Scope
在发起OAuth2授权请求时,除了OpenID相关的scope(如openid、profile、email),必须同时包含Profile API对应的scope参数。例如:https://www.linkedin.com/oauth/v2/authorization? response_type=code& client_id=YOUR_CLIENT_ID& redirect_uri=YOUR_REDIRECT_URI& scope=openid%20profile%20email%20r_liteprofile如果之前的授权流程未包含这些scope,已获取的access token将不具备Profile API访问权限,需要引导用户重新完成授权流程,获取包含新scope的token。
验证Access Token的权限范围
可以直接尝试访问Profile API端点(如https://api.linkedin.com/v2/me)来检查token权限。若返回403 Forbidden错误,大概率是token缺少所需的scope,需重新授权。使用正确的API版本和端点
确保调用的是LinkedIn Profile API v2版本的端点(v1版本已废弃),常用端点包括:- 获取基础资料:
GET https://api.linkedin.com/v2/me - 获取邮箱地址:
GET https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))(需r_emailaddressscope)
- 获取基础资料:
内容的提问来源于stack exchange,提问作者Anh Nguyen
相关产品推荐
相关产品推荐

