2010-08-04 105 views
4

我想檢索給定Facebook頁面上的所有帖子以及相關評論。從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)。我無法弄清楚這個評論的特別之處。

任何雖然?

+0

您是否嘗試過沒有多查詢的第二個查詢,只有逗號分隔的post ID列表? – serg 2010-08-04 15:31:25

+0

我試過了,沒有運氣。 – Giacomo 2010-09-03 19:06:28

+1

您是否設法解決此問題?如果是這樣,怎麼樣? – pAkY88 2012-02-12 14:57:59

回答

1

我試圖找到一個解決方案與圖形API

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

正在玩,但返回的意見,當它返回只有最後2這是exaclty如何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帖子,然而,您可以使用特定於時間的 字段(例如created_time)與FQL運算符(如<或>) 一起檢索更大範圍的帖子。

相關問題