Rest 关于迁移到Linkedin API 2.0版的问题
最近linkedin发送了一封提醒电子邮件: 重要更新:所有开发人员都需要在2019年3月1日之前迁移到API的2.0版和OAuth 2.0版。了解更多 我正在使用Linkedin Rest API获取授权后的用户信息。 旧的v1 api是: 查看此处的迁移指南: 必须更改此请求。我试图提出以下要求: 获取用户基本信息(如姓名和姓氏) 然后: *(把手~) 获取用户电子邮件地址的步骤 不幸的是,第一个请求总是返回:Rest 关于迁移到Linkedin API 2.0版的问题,rest,linkedin,linkedin-api,Rest,Linkedin,Linkedin Api,最近linkedin发送了一封提醒电子邮件: 重要更新:所有开发人员都需要在2019年3月1日之前迁移到API的2.0版和OAuth 2.0版。了解更多 我正在使用Linkedin Rest API获取授权后的用户信息。 旧的v1 api是: 查看此处的迁移指南: 必须更改此请求。我试图提出以下要求: 获取用户基本信息(如姓名和姓氏) 然后: *(把手~) 获取用户电子邮件地址的步骤 不幸的是,第一个请求总是返回: { "serviceErrorCode": 100, "m
{
"serviceErrorCode": 100,
"message": "Not enough permissions to access: GET /me",
"status": 403
}
我在这里搜索了很多关于stackoverflow的内容,很多建议您需要作为合作伙伴订阅才能访问v2 api
在这里:
Linkedin在迁移指南中说:
我的开发者应用程序是否可以访问v2 API?通过LinkedIn开发者门户创建的任何开发者应用程序
2018年12月15日后自动访问v2 API
现有的开发人员应用程序如何?如果您的开发人员应用程序从10月1日起成功发出v1 API请求,
2018年,您的开发者应用程序将自动访问v2
API
此外,如果我询问EmailAddressV2 API,我会得到正确的回答。。。因此,我不认为我需要编译成为合伙人的表格
有什么问题吗
以下是身份验证和API调用的完整路径:
1) 转到“身份验证”页面以请求权限
window.location.href = "https://www.linkedin.com/oauth/v2/authorization?response_type=code" +
"&client_id=" + linkedin_id + "&redirect_uri=" + redirect_uri +
"&state=" + state + "&scope=r_basicprofile+r_emailaddress"
2) 检索访问令牌
request = ("https://www.linkedin.com/oauth/v2/accessToken?grant_type=authorization_code&code=" +
code + "&redirect_uri=" +
redirect_uri + "&client_id="
+ linkedin_id +
"&client_secret=" + linkedin_secret)
response = requests.get(request)
3) 检索访问令牌后,我们可以请求用户信息始终403
headers = {"Authorization": "Bearer "+token }
get_user = requests.get('https://api.linkedin.com/v2/me', headers=headers)
4) 获取用户电子邮件工作
get_user_email = requests.get('https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))', headers=headers)
谢谢如果您只需要名字和姓氏,请尝试使用
r\u liteprofile
而不是r\u basicprofile
第一步的变化:
&scope=r_基本配置文件+r_电子邮件地址到
&范围=r_liteprofile+r_电子邮件地址
称之为:
正在获取r_Lite配置文件信息
您将获得firstName、lastName、profilePicture、id您应该在AccessToken请求时传递“&scope=r\u basicprofile+r\u emailaddress” 步骤1: AccessToken请求将类似于
https://www.linkedin.com/oauth/v2/accessToken?grant_type=authorization_code&code={Your code}&redirect_uri={Yourredirect_uri}&client_id={Your client_id}&client_secret={Your client_secret }&scope=r_liteprofile+r_emailaddress
https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))&oauth2_access_token={AccessToken You get from step 1}'
这将返回AccessToken,您必须使用它再发出2个请求
1用于电子邮件和个人资料详细信息
步骤2:
对于电子邮件请求将是这样的
https://www.linkedin.com/oauth/v2/accessToken?grant_type=authorization_code&code={Your code}&redirect_uri={Yourredirect_uri}&client_id={Your client_id}&client_secret={Your client_secret }&scope=r_liteprofile+r_emailaddress
https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))&oauth2_access_token={AccessToken You get from step 1}'
步骤3:
对于基本配置文件,请求如下
https://api.linkedin.com/v2/me?projection=(id,firstName,lastName,emailAddress,profilePicture(displayImage~:playableStreams))&oauth2_access_token={AccessToken You get from step 1}'
在步骤1中,将
&scope=r\u基本配置文件+r\u电子邮件地址
更改为&scope=r\u电子邮件地址+r\u liteprofile
@Vic谢谢,在我将r\u liteprofile添加为范围并将其添加为管理员Linkedin应用程序门户中的默认应用程序权限后,它就可以工作了!谢谢,在我将r_liteprofile添加为作用域并将其添加为管理员Linkedin应用程序门户中的默认应用程序权限后,它就可以工作了!谢谢