2013-01-15 51 views
0

是否有人知道如何獲取與應用程序ID關聯的用戶的活動供稿?
如何獲取特定用戶的Facebook活動源

我能夠通過使用此代碼

<?php 
    require "facebook.php"; 
    $facebook = new Facebook(array(
     'appId' => '', 
     'secret' => '', 
    )); 
    $user = $facebook->getUser(); 
    if ($user) { 
     try { 
      $result = $facebook->api(array(
      "method" => "fql.query", 
      "query"  => "SELECT uid, name, pic_square, activities FROM user 
      WHERE uid IN (SELECT uid1 FROM friend WHERE uid2 = me()) and is_app_user" 
     )); 
    echo "<pre>"; 
    print_r($result); 
?> 

輸出

Array 
(
    [0] => Array 
     (
      [uid] => 14529121124 
      [name] => Saurabh 
      [pic_square] => http://profile.ak.fbcdn.net/hprofile-ak-ash4/187195_1452918224_6692287_q.jpg 
      [activities] => 
     ) 

    [1] => Array 
     (
      [uid] => 100000565666371 
      [name] => Abhijeet 
      [pic_square] => http://profile.ak.fbcdn.net/hprofile-ak-prn1/157718_100000289210371_1409561577_q.jpg 
      [activities] => 
     ) 

) 


現在我只是想獲取獲取誰是與應用程序ID相關聯的用戶列表這兩個用戶的活動饋送(用戶ID:14529121124,100000565666371)單獨與此(54975723243503)app_id。

回答

2

使用圖形API:https://developers.facebook.com/docs/reference/api/user/

搜索在網頁 「飼料」

+0

謝謝您的回答。我認爲feed選項會返回用戶的所有提要。有什麼方法可以過濾Feed(我只想獲取與我的應用或網站相關的Feed或活動)。 –

1

您需要查詢FQL stream表格或圖形API供稿對象:

由於你的工作使用FQL,我將給出一個使用FQL的例子。我做了一些快速測試,並且stream表格不允許您使用關鍵字IN來選擇來自多個來源的流,因此您需要進行兩個獨立的呼叫,第一個獲得user_id秒,第二個獲取流。

試試這個:

$queries = array(); 
$i = 0; 
foreach ($result as $item) { 
    $queries['user_stream'.$i] => 
    "SELECT source_id, created_time, message, attachment FROM stream 
     WHERE source_id = " . $item['uid']; 
    $i++; 
} 

$result2 = $facebook->api(array(
     "method" => "fql.multiquery", 
     "queries"  => json_encode($queries) 
     )); 
相關問題