我想要来自Linkedin的朋友的电子邮件ID。到现在为止,我得到了我的网站的网址,要求朋友的网址。就像https://www.linkedin.com/profile/view?id=xxx&authType=name&authToken=xxx&trk=api * a4152951 * s4217191 *

(Linkedin API IN.API.Connections(“ me”)。result(function(me){})

从这个URL我必须获得电子邮件地址,所以我正在使用curl。
这是我的代码:

$ch = curl_init("https://www.linkedin.com/profile/view?id=259116153&authType=name&authToken=S9sN&trk=api*a4152951*s4217191*");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
$rr = curl_exec($ch);
//curl_close($ch);
echo $rr;


我也尝试过此方法,但不起作用(空白页):

$url = $_POST['links'];

$contents = file_get_contents($url);

$dom = new DOMDocument();

@$dom->loadHTML($contents);

$dom->preserveWhiteSpace = false;

$xpath = new DOMXPath($dom);

$hrefs = $xpath->query("//li[@id='contact-field']");

for ($i = 0; $i < $hrefs->length; $i++)
  echo $hrefs->item($i)->nodeValue;

if(!$hrefs) echo 'Not found';
echo $hrefs->nodeValue;


还有一件事情,如果将该URL放在浏览器中,我可以通过单击使display:block(CSS)的连接信息按钮来查看电子邮件。

最佳答案

Terms of Use明确禁止从LinkedIn收集数据。检索数据的正确方法是通过REST API调用。

请求LinkedIn成员的电子邮件地址要求您的应用程序请求特殊的OAuth权限,称为:r_emailaddress

确保将您的应用程序配置为请求该权限,然后使用以下REST API调用来检索成员的电子邮件地址:

https://api.linkedin.com/v1/people/id={targetMemberID}:(email-address)


可以在以下位置找到有关进行REST API调用的其他信息:https://developer.linkedin.com/documents/profile-api

关于php - curl无法用于我的连接的linkedin个人资料,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26889046/

10-16 15:58