備份 facebook 即時訊息記錄

edited 十一月 -1 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.