我无法通过 linkedin v2 api 获取用户的电子邮件地址。我在应用程序设置以及访问 token 请求中添加了 r_emailaddress 权限。但它说。
{
"serviceErrorCode": 100,
"message": "Not enough permissions to access: GET-members /clientAwareMemberHandles",
"status": 403
}
我的请求网址是:
https://api.linkedin.com/v2/clientAwareMemberHandles?q=members&projection=(elements*(primary,type,handle~))&oauth2_access_token=".$token
任何人请帮助我解决这个问题。
最佳答案
您可以使用以下 EP 访问 linkedin 用户电子邮件地址:
`https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))`
确保您已在您的库中定义范围“r_emailaddress”。
您可以使用以下 curl 请求来获取数据:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer '. $token,
'X-Restli-Protocol-Version: 2.0.0',
'Accept: application/json',
'Content-Type: application/json'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$response = curl_exec($ch);
$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$body = substr($response, $headerSize);
$response_body = json_decode($body,true);
$response_body 将返回以下响应:
Array (
[elements] => Array
(
[0] => Array
(
[handle] => urn:li:emailAddress:123456
[handle~] => Array
(
[emailAddress] => your@email.in
)
)
)
)
关于php - 如何使用 linkedin v2 api 获取电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50250453/