如何将LinkedIn应用权限从lite升级为basic?获取r_basicprofile遇阻
核心原因:r_basicprofile已被废弃
LinkedIn早在2019年就淘汰了r_basicprofile权限,取而代之的是r_liteprofile(获取用户基础信息:姓名、头像、ID等)和r_emailaddress(获取用户邮箱)。这两个是Signin with LinkedIn应用的默认标准权限,不需要额外申请。
问题拆解与解决步骤
找不到权限修改入口:
现在创建Signin with LinkedIn应用时,标准权限会自动配置到应用的OAuth 2.0范围中。你需要进入LinkedIn开发者后台的应用详情页,切换到「Auth」标签,在「OAuth 2.0 Scopes」区域就能看到已配置的权限。如果要添加非标准权限(比如企业相关权限),需要先在「Products」标签下添加对应的产品,之后才能申请对应权限,但r_basicprofile已经不存在,所以找不到相关选项。强制设置r_basicprofile报错:
因为该权限已被LinkedIn移除,属于无效范围,所以会返回unauthorized_scope_error。你必须把授权请求中的scope参数替换为当前有效的权限,比如:scope=r_liteprofile%20r_emailaddress重新创建应用仍无法选择权限:
新应用默认就自带r_liteprofile和r_emailaddress,不需要手动选择。如果看不到,检查后台的「Auth」页面,确认这两个权限已在列表中,若缺失可以手动输入添加。
验证方法
发起授权请求后,通过LinkedIn的OAuth 2.0接口获取用户信息时,使用https://api.linkedin.com/v2/me获取基础信息,https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))获取邮箱,这两个接口对应r_liteprofile和r_emailaddress权限。
内容的提问来源于stack exchange,提问作者Martin Ratinaud

