当请求 email-address 时,Linkedin API 返回 403(禁止访问)
Linked In API returning 403 (Forbidden) when a request for email-address is made
我正在尝试从他们的领英中获取用户的电子邮件地址。
我完成了整个 OAuth 2.0 授权代码流程并获得了一个访问令牌,但是当我向端点 https://api.linkedin.com/v2/me?projection=(email-address)
发出 GET 请求时,它 returns 一个 403(禁止)HTTP 状态代码。
事情是这样的:
当我在请求授权码时在scope
参数中指定r_liteprofile r_email-address
作为权限时,以及在请求数据时,作为fields
,参数 projection=(localizedFirstName, localizedLastName, email-address)
,我得到 200 HTTP 状态代码,但在结果 JSON 中,我只得到 localizedFirstName
和 localizedLastName
值。
如果我在 scope
参数中仅指定 r_emailaddress
权限并在请求数据时指定 projection=(email-address)
,我将收到 403(禁止)状态代码。
如果我在 scope
字段中仅指定 r_emailaddress
而未指定任何字段,即我在没有任何参数的情况下点击了 https://api.linkedin.com/v2/me
端点(但是访问令牌在 Authorization
header 中作为 Bearer
方案令牌适当发送),我得到 403(禁止)HTTP 状态代码。
我的应用程序确实具有 r_emailaddress
的权限,因为这是在创建时授予所有应用程序的基本权限,不需要批准。
我是否找到了获取电子邮件地址的正确端点?一切似乎都很好,但我仍然收到 403。这是怎么回事?
检索电子邮件地址的请求是:
GET https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))
您需要请求 r_emailaddress 范围才能使用此端点。
我正在尝试从他们的领英中获取用户的电子邮件地址。
我完成了整个 OAuth 2.0 授权代码流程并获得了一个访问令牌,但是当我向端点 https://api.linkedin.com/v2/me?projection=(email-address)
发出 GET 请求时,它 returns 一个 403(禁止)HTTP 状态代码。
事情是这样的:
当我在请求授权码时在
scope
参数中指定r_liteprofile r_email-address
作为权限时,以及在请求数据时,作为fields
,参数projection=(localizedFirstName, localizedLastName, email-address)
,我得到 200 HTTP 状态代码,但在结果 JSON 中,我只得到localizedFirstName
和localizedLastName
值。如果我在
scope
参数中仅指定r_emailaddress
权限并在请求数据时指定projection=(email-address)
,我将收到 403(禁止)状态代码。如果我在
scope
字段中仅指定r_emailaddress
而未指定任何字段,即我在没有任何参数的情况下点击了https://api.linkedin.com/v2/me
端点(但是访问令牌在Authorization
header 中作为Bearer
方案令牌适当发送),我得到 403(禁止)HTTP 状态代码。
我的应用程序确实具有 r_emailaddress
的权限,因为这是在创建时授予所有应用程序的基本权限,不需要批准。
我是否找到了获取电子邮件地址的正确端点?一切似乎都很好,但我仍然收到 403。这是怎么回事?
检索电子邮件地址的请求是:
GET https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))
您需要请求 r_emailaddress 范围才能使用此端点。