使用OpenID Connect登录LinkedIn,如何获取高清头像及访问/me端点
如何在新版OpenID LinkedIn登录后获取高清头像
1. 申请必要的API权限
要调用/v2/me端点获取高清头像,你需要在OAuth授权流程中添加r_liteprofile权限。这个权限允许访问用户的基础资料,包括高清头像的媒体资源。
2. 调整授权请求的Scope参数
在引导用户进入LinkedIn登录的授权URL中,将scope参数设置为包含openid、profile(或你需要的其他基础权限)以及r_liteprofile。示例scope字符串:
openid profile email r_liteprofile
3. 调用/me端点获取高清头像资源
拿到有效的access_token后,发起你提到的API请求:
GET /v2/me?projection(id,profilePicture(displayImage~digitalmediaAsset:playableStreams))
请求头中需携带Authorization: Bearer {access_token}。
4. 解析响应获取高清头像URL
接口返回的响应里,profilePicture.displayImage~.elements数组包含了不同尺寸的头像资源。你可以通过筛选storageSize或displaySize中宽高最大的条目,提取其identifiers[0].identifier字段,这就是高清头像的直接访问URL。
示例响应片段:
{ "profilePicture": { "displayImage~": { "elements": [ { "identifiers": [{"identifier": "https://media.licdn.com/.../profile-displayphoto-shrink_800_800/0/..."}], "data": { "com.linkedin.digitalmedia.mediaartifact.StillImage": { "storageSize": {"width": 800, "height": 800} } } }, { "identifiers": [{"identifier": "https://media.licdn.com/.../profile-displayphoto-shrink_100_100/0/..."}], "data": { "com.linkedin.digitalmedia.mediaartifact.StillImage": { "storageSize": {"width": 100, "height": 100} } } } ] } } }
选择宽高最大的条目即可得到高清头像地址。
注意事项
- 确保你的LinkedIn应用已在开发者后台添加"Sign In with LinkedIn"产品,
r_liteprofile权限会随该产品自动启用。 - 用户在授权时会看到对应的权限提示,需要用户同意后才能获取该资源。
内容的提问来源于stack exchange,提问作者Harsh Prajapati
相关产品推荐
相关产品推荐

