我正在显示我连接到图表api的粉丝数量,直到1个月前fb改变了一切...
哦,我现在正在阅读我需要一个访问令牌,但我不知道获得它的最简单方法
我的实际代码看起来像......
<?php
function get_fb_data($page_id) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://graph.facebook.com/'.urlencode($page_id));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$exec = curl_exec($ch);
curl_close($ch);
return json_decode($exec);
}
但现在又回来了......
object(stdClass)[1]
public 'error' =>
object(stdClass)[2]
public 'message' => string 'An access token is required to request this resource.' (length=53)
public 'type' => string 'OAuthException' (length=14)
public 'code' => int 104
我需要访问令牌和SDK吗?
您可以从此URL获取它
php中有一个名为json_decode()
的函数。与file_get_contents()
一起使用。您可以检索该值并在PHP中回显它:
<?php
$json = file_get_contents('http://api.facebook.com/method/fql.query?format=json&query=select+fan_count+from+page+where+page_id%3D355692061120689');
$decode = json_decode($json);
echo $decode[0]->fan_count;
?>
注意使用您的页面ID更改355692061120689
。
FQL已弃用。 Facebook将删除FQL(2016年8月7日)。
此解决方案适用于NO TOKEN,PAGE ID,......
创建一个文件,使用您想要的名称将其上传到您的FTP。例如,我们称之为fb-count.php
复制并粘贴以下代码:
<?php
$page_name = $_GET['page'];
$header = array();
$header[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
$header[] = 'Cache-Control: max-age=0';
$header[] = 'Connection: keep-alive';
$header[] = 'Keep-Alive: 300';
$header[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
$header[] = 'Accept-Language: en-us,en;q=0.5';
$header[] = 'Pragma: ';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://fr-fr.facebook.com/'.$page_name);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$contents = curl_exec($ch);
curl_close ($ch);
preg_match('/>([0-9]{0,3}.?.?[0-9]{0,3}.?.?[0-9]{3}) personnes aiment/i', $contents, $matches);
echo $matches[1];
如何获得粉丝? https://website.com/fb-count.php?page=yourpagename
尽量不要滥用请求或Facebook将放置验证码阻止您的IP。
所有权利都归@Elegie用户所有