没有令牌的Facebook粉丝数量?

问题描述 投票:-1回答:2

我正在显示我连接到图表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吗?

php facebook facebook-graph-api
2个回答
-1
投票

您可以从此URL获取它

http://api.facebook.com/method/fql.query?format=json&query=select+fan_count+from+page+where+page_id%3D355692061120689

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日)。


0
投票

此解决方案适用于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用户所有

© www.soinside.com 2019 - 2024. All rights reserved.