问题描述
我已经通过Oauth2协议在LinkedIn上实现了singin操作,并接收有关配置文件的响应信息,如下所示:
{
"localizedLastName": "xxxxxxx","profilePicture": {
"displayImage": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},"firstName": {
"localized": {
"fr_FR": "xxxxxxxxxxxx"
},"id": "xxxxxxxx",....
}
但是在我的用例中,我需要存储一个唯一的用户名,我认为我只能从个人资料链接 https://www.linkedin.com/in/xxxxxx-xxxxxx-889031a0/
检索它。
那么如何获取此个人资料链接?
解决方法
我认为您正在寻找Profile API中的doc中的vanityName
:
vanityName:成员的虚荣名称。代表虚荣名字 作为字符串用于公开个人资料网址:
www.linkedin.com/in/{vanityName}
。
因此,您可以对请求字段上的投影使用以下卷曲:
curl -H "Authorization: Bearer <auth-token>" \
"https://api.linkedin.com/v2/me?projection=(localizedFirstName,vanityName)"
将返回:
{
"vanityName": "bsmith","localizedFirstName": "Bob"
}
应用权限
再次检查您的应用是否至少具有basicprofile
权限(OAuth 2.0范围):默认的lite-profile
是不够的。因此,请参见“应用范围控制台” https://www.linkedin.com/developers/apps/<app-id>/auth
中的至少一项内容:
r_basicprofile:使用您的基本个人资料,包括您的姓名,照片, 标题和公开个人资料网址