facebook 用curl获取用户资料

时间:2023-12-30 10:34:44

用facebook获取用户信息

$graph_url= "https://graph.facebook.com/me?scope=email&fields=id,name,email,first_name,last_name,link,birthday,picture&access_token=$access_token";
$s = curl_init();
curl_setopt($s,CURLOPT_URL,$url);
curl_setopt($s,CURLOPT_RETURNTRANSFER,1) ;
curl_setopt($s, CURLOPT_HEADER, 0);
$body = curl_exec($s);
curl_close($s);

$body,老是空的,可是 var_dump(curl_errno($s));却没有错误号

而且直接将$graph_url,放到浏览器地址栏,是可以获取到信息的

去网上查了下,加上curl_setopt($s, CURLOPT_SSL_VERIFYPEER, 0);就可以了

CURLOPT_SSL_VERIFYHOST的值

  • 设为0表示不检查证书
  • 设为1表示检查证书中是否有CN(common name)字段
  • 设为2表示在1的基础上校验当前的域名是否与CN匹配

libcurl早期版本中这个变量是boolean值,为true时作用同目前设置为2,后来出于调试需求,增加了仅校验是否有CN字段的选项,因此两个值true/false就不够用了,升级为0/1/2三个值。

再后来(libcurl_7.28.1之后的版本),这个调试选项由于经常被开发者用错,被去掉了,因此目前也不支持1了,只有0/2两种取值。