从Facebook页面检索帖子和评论

时间:2010-08-04 09:56:03

标签: facebook facebook-fql fql.multiquery

我想从给定的Facebook页面检索所有帖子以及相关的评论。

我编写了这段代码(应用程序详细信息被混淆,替换为您自己的代码以便运行它)。

<?php
require_once('facebook.php');
$facebook = new Facebook(array(
    'appId'  => 'MY_APP_ID',
    'secret' => 'MY_APP_SECRET',
    'cookie' => true,
));

$pages = array(
    "stackoverflow" => 11239244970
);

$result = $facebook->api(array(
    'method' => 'fql.multiquery',
    'queries' => '{
        "posts": "select post_id, source_id, actor_id, target_id, likes, message from stream where source_id = '.$pages["stackoverflow"].'",
        "comments": "select post_id, text, username, fromid from comment where post_id in (select post_id from #posts)"
    }'
));

echo json_encode($result);
?>

posts会返回预期结果,但comments只返回一条评论。

此示例查询stackoverflow facebook page

comments查询返回的评论为“已加入!” (来自this post)。我无法弄清楚这个评论有什么特别之处。

有没有?

1 个答案:

答案 0 :(得分:1)

我试图找到一个使用Graph Api

的解决方案
https://graph.facebook.com/me/fql?q=select message, comments from stream where source_id = 11239244970

正在运行,但在返回评论时,它只返回最后一个。这很简单,Facebook本身如何通过“查看所有XX评论”链接显示流和评论。

可以使用以下方式查询帖子和评论:

https://graph.facebook.com/fql?q={"posts":"select post_id,message, comments from stream where source_id = 11239244970","comments": "select post_id, text, username from comment where post_id in (select post_id from #posts)"}&access_token=...

根据Facebook:

  

流表的每个查询都限制在前30天或   50个帖子,以较大者为准,但您可以使用特定时间   create_time等字段以及FQL运算符(例如&lt;或&gt;)   检索更多范围的帖子。