2013-05-04 227 views
1

這是我在這裏的第一篇文章。使用PHP獲取Facebook好友狀態?

我使用PHP來獲取Facebook朋友的狀態。特別是,我試圖從我的一個Facebook朋友中檢索所有公共狀態,但它只發生前100個狀態。我需要獲取所有狀態並將其寫入文本文件。這是我正在使用的代碼,從我在這裏閱讀的許多答案中修補。

$i=0; 
$result = $facebook->api('/my_friend_ID/statuses/', 
array('access_token' => $facebook->access_token,'limit'=>100,)); 

//「抵消」 => 50,限制之前使用,它由50挑戰極限前進,它並沒有超越它 //「因爲」 => 2010年,我讀了所以有甚至是這個領域,但我不能讓它工作。

foreach($result['data'] as $post) 
{ 
    echo $i . '<br>'; 
    echo $post['id'] . '<br>'; 
    echo $post['from']['name'] . '<br>'; 
    echo $post['from']['id'] . '<br>'; 
    echo $post['name'] . '<br>'; 
    echo $post['message'] . '<br>'; 
    echo '*---------------------------------------------------*' . '<br>'; 
    $i++; 
    $write_file = fopen("esempio.txt","a"); 
    $message = $post['message'] . '<br>'; 
    fwrite($write_file,$message); 
    fclose($write_file); 

} 

所以,要更清楚,如何讓所有的朋友狀態(新舊)在一個文本文件?

回答

0

您需要通過所有狀態

foreach($the_statuses['data'] as $post) 
{ 
    echo $i . '<br>'; 
    echo $post['id'] . '<br>'; 
    echo $post['from']['name'] . '<br>'; 
    echo $post['from']['id'] . '<br>'; 
    echo $post['name'] . '<br>'; 
    echo $post['message'] . '<br>'; 
    echo '*---------------------------------------------------*' . '<br>'; 
    $i++; 
    $write_file = fopen("esempio.txt","a"); 
    $message = $post['message'] . '<br>'; 
    fwrite($write_file,$message); 
    fclose($write_file); 

} 
+0

謝謝phwd.I嘗試使用分頁https://developers.facebook.com/docs/reference/api/pagination/

$the_statuses = array(); $your_statuses = $facebook->api("/my_friend_ID/statuses/"); while ($your_statuses['data']) { $the_statuses = array_merge($the_statuses, $your_statuses['data']); $paging = $your_statuses['paging']; $next = $paging['next']; $query = parse_url($next, PHP_URL_QUERY); parse_str($query, $par); $your_statuses = $facebook->api( "/my_friend_ID/statuses/", 'GET', array( 'limit' => $par['limit'], 'until' => $par['until'])); } 

然後,你可以做循環,但它不工作。我改變my_friend_ID與我的朋友的實際ID,但它不顯示任何結果。我在哪裏得到錯誤? – 2013-05-05 07:34:06