Php 获取Facebook图形API JSON值

Php 获取Facebook图形API JSON值,php,json,facebook,facebook-graph-api,Php,Json,Facebook,Facebook Graph Api,我有一个简单的PHP代码,它通过JSON获取Facebook graph API的值(某个粉丝页面的总喜欢数)。它对绝大多数的粉丝页面都很好,但对于3个(我跟踪的17个粉丝页面中的3个),它根本无法读取和打印该值 我不明白问题出在哪里,因为我想要获取的数据是公开的,并且所有页面都应用了相同的代码 下面是为ID为214014840762的风扇页面打印正确值的代码: <?php $currsiteurl = 'http://graph.facebook.com/214014840762

我有一个简单的PHP代码,它通过JSON获取Facebook graph API的值(某个粉丝页面的总喜欢数)。它对绝大多数的粉丝页面都很好,但对于3个(我跟踪的17个粉丝页面中的3个),它根本无法读取和打印该值

我不明白问题出在哪里,因为我想要获取的数据是公开的,并且所有页面都应用了相同的代码

下面是为ID为214014840762的风扇页面打印正确值的代码:

<?php    
$currsiteurl = 'http://graph.facebook.com/214014840762';  
$graph = json_decode(file_get_contents($currsiteurl));  
$currnofans = $graph->likes;  
echo "Number of likes: ".$currnofans; // prints out 107936    
?>

但是,如果我只是简单地将ID更改为160788560626000或167134649991034,那么相同的代码将不再工作,并且不会打印任何内容


提前谢谢

我不知道这些页面是什么,也不知道它们在Facebook上的URL是什么,所以我无法验证这一点,但是,您的页面可能未发布(可能不太可能),或者(可能更可能)受到年龄限制。如果页面信息受年龄限制,Facebook图表不允许您访问页面信息。不幸的是,如果您传递Facebook应用程序访问令牌,甚至是超过18岁的用户的访问令牌,这一点也是正确的。这是相当愚蠢的,在bugs.developers.facebook.com上至少有5个bug报告

2011年6月13日更新
最近,Facebook进行了一项更新,要求您使用有效的用户访问令牌来获取有关页面的信息。在我看来,这是一个可怕的变化,但事实就是如此。如果没有有效的用户访问令牌,您将从不是基本信息(根,
http://graph.facebook.com/
)或
照片
,或
相册
端点


因此,如果您被要求访问任何其他端点(
posts
feed
视频
状态
,等等),您需要确保提供有效的用户访问令牌来访问它们。

如果我是对的,那么结果是数组而不是类
因此,尝试一下$graph[“likes”]

之类的东西,也许是页面的隐私设置?考虑到它适用于以相同方式构造的其他页面,我不认为会出现这种情况。