備份 facebook 即時訊息記錄

edited 十月 2013 in 原創軟體分享區
雖然 facebook 有提供個人資料備份功能,但是熊熊發現裡面備份的即時訊息並不完整...

找了一下,現有的一些工具好像都沒有在維護了,所以自己寫一個小程式來備份資料
require 'sdk/src/facebook.php';

$facebook = new Facebook(array(
    'appId' => 'xxx',
    'secret' => 'yyy',
        ));

$loginUrl = $facebook->getLoginUrl(array(
    'scope' => 'read_mailbox'
));
echo "<a href='{$loginUrl}'>登入</a>";

$messages = $facebook->api('/uuu/comments');
$lastId = '';
while(!empty($messages['data'][0]['id'])) {
    if($lastId === $messages['data'][0]['id']) {
        exit();
    }
    $lastId = $messages['data'][0]['id'];
    $file = 'messages/' . date('Ymd_His', strtotime($messages['data'][0]['created_time']));
    $fh = fopen($file, 'w');
    foreach($messages['data'] AS $item) {
        if(empty($item['message'])) {
            continue;
        }
        fwrite($fh, date('Y-m-d H:i:s ', strtotime($item['created_time'])) . $item['from']['name'] . ':' . $item['message'] . "\n");
    }
    fclose($fh);
    $messages = $facebook->api(substr($messages['paging']['next'], 26));
}

請搭配 facebook php sdk 服用,我的目的只是為了備份跟 uuu 對話的所有內容

但是透過這個方式目前沒辦法抓到 2012-09-03 23:27:20 以前的資料,不知道是資料量限制還是怎樣...

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=7371
Sign In or Register to comment.