LinkedIN REST API 没有 return emailAddress 字段,尽管 r_emailaddress 在应用程序范围内设置
LinkedIN REST API does not return emailAddress field although r_emailaddress set in app scope
如上所述,我的应用程序在其范围设置中激活了 r_emailaddress 权限。
当我检索 oauth2 访问令牌并使用它从经过身份验证的用户那里获取数据时,我将获得除电子邮件地址之外的所有字段。
这是我的要求:
curl -H "Authorization: Bearer $LI_ACCESS_TOKEN" "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address)?format=json" -X GET
Returns
{
"firstName": "John",
"id": "som31d",
"lastName": "Doe"
}
我注意到当我使用 JS SDK 时,所有请求的数据都会返回。那么偏差从何而来?
我发现了问题。我使用仅包含 r_basicprofile 权限的范围参数发出了授权码请求。
另外提供 r_emailaddress
以获得他们的电子邮件地址。
正确:
curl -i "https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=clientid&redirect_uri=http://localhost:8088&state=987654321&scope=r_basicprofile,r_emailaddress" -X GET
如上所述,我的应用程序在其范围设置中激活了 r_emailaddress 权限。
当我检索 oauth2 访问令牌并使用它从经过身份验证的用户那里获取数据时,我将获得除电子邮件地址之外的所有字段。
这是我的要求:
curl -H "Authorization: Bearer $LI_ACCESS_TOKEN" "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address)?format=json" -X GET
Returns
{
"firstName": "John",
"id": "som31d",
"lastName": "Doe"
}
我注意到当我使用 JS SDK 时,所有请求的数据都会返回。那么偏差从何而来?
我发现了问题。我使用仅包含 r_basicprofile 权限的范围参数发出了授权码请求。
另外提供 r_emailaddress
以获得他们的电子邮件地址。
正确:
curl -i "https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=clientid&redirect_uri=http://localhost:8088&state=987654321&scope=r_basicprofile,r_emailaddress" -X GET