获取 Facebook 图形 API JSON 值

发布于 2024-11-04 22:15:00 字数 574 浏览 0 评论 0原文

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

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

下面是打印 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,则相同的代码将不再工作,并且不会打印任何内容。

提前致谢!

I have a simple PHP code that fetches Facebook graph API's value (total number of likes of a certain fanpage) via JSON. It works perfectly fine for the vast majority of fan pages but for 3 (out of 17 fan pages that I track) it simply can't read and print that value.

I don't understand where's the problem since the data I want to fetch is publicly available and the same code is applied for all pages.

Here's the code that prints correct value for a fan page with 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    
?>

But if I simply change the ID to 160788560626000 or 167134649991034 the same code doesn't work anymore and it doesn't print anything.

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不气馁 2024-11-11 22:15:00

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

2011 年 6 月 13 日更新

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

因此,如果您请求任何其他端点(postsfeedvideosstatuses 等)您需要确保提供有效的用户访问令牌来访问它们。

I don't know what these pages are or what their URLs on Facebook are, so I can't verify this but, it's possible that your page is either not published (probably not that likely), or (probably more likely) is age restricted. The Facebook graph doesn't let you access a page's information if it is restricted by age. Unfortunately, this is even true if you pass a Facebook application access token, or even an access token for a user who is over 18. It's pretty stupid, and there have got to be at least 5 bug reports on bugs.developers.facebook.com for it.

Update 6/13/2011

Recently, Facebook made an update that requires you to use a valid user access token to pull information about a page. This is a horrendous change, imo, but it is what it is. Without a valid user access token, you will get a false or error response from every endpoint that isn't the basic info (root, http://graph.facebook.com/<page_id>) or photos, or albums endpoints.

So, if you're requested any of the other endpoints (posts, feed, videos, statuses, etc) you'll need to make sure you provide a valid user access token to access them.

蹲墙角沉默 2024-11-11 22:15:00

如果我是对的那么结果是一个数组而不是一个类
所以尝试类似 $graph["likes"]

If I'm right then is the result an array and not a class
so try something like $graph["likes"]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文