我正试图从其“链接到”中获取用户的电子邮件地址。
我完成了整个OAuth 2.0授权代码流并获得了访问令牌,但是当我向端点https://api.linkedin.com/v2/me?projection=(email-address)
发出GET请求时,它将返回403(禁止)HTTP状态代码。
发生了什么事
当我在请求授权码时在r_liteprofile r_email-address
参数中将scope
指定为许可,并且在请求数据时将参数fields
指定为projection=(localizedFirstName, localizedLastName, email-address)
localizedFirstName
,我得到了200个HTTP状态代码,但是在结果JSON中,我仅得到了localizedLastName
和r_emailaddress
值。
如果我仅在scope
参数中指定projection=(email-address)
权限,而在请求数据时仅指定r_emailaddress
,则会收到403(禁止)状态码。
如果我仅在scope
字段中指定https://api.linkedin.com/v2/me
,而忽略了指定任何字段,即我打了Authorization
端点而没有任何参数(但访问令牌发送正确)在Bearer
标头中作为r_emailaddress
方案令牌),我得到了403(禁止的)HTTP状态代码。
我的应用程序确实具有Future
的权限,因为这是创建时授予所有应用程序的基本权限,不需要批准。
我是否找到了正确的端点来获取电子邮件地址?一切似乎都还好,但我仍然收到403。怎么了?
答案 0 :(得分:1)
检索电子邮件地址的请求是:
GET https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))
您需要请求r_emailaddress作用域才能使用此端点。