เอาไปแกะต่อกันเองนะครับ เขียนแบบลวกๆ ไว้ใช้งานคนเดียว แต่มีหลายคนอยากได้ก็เลยจัดให้ครับ
เอาไว้ดูว่าคนที่เราตามอยู่เนี่ยเลิกเล่น twitter ไปหรือยัง จะได้ไป unfollow ได้ เพื่อลดจำนวนคนที่เรา follow ครับ
<?php
error_reporting(0);
$type = 'friends'; // friends | following
$login = "username:password";
$cursor = -1;
$user_info = explode(':', $login, 2);
$req_num = 0;
$user_lists = array();
while($cursor != 0 ) {
$req_num++;
$tweeters = null;
$retry = false;
$uri = "http://twitter.com/statuses/".$type.".xml?screen_name=".$user_info[0]."&cursor=".$cursor;
$tw = curl_init();
curl_setopt($tw, CURLOPT_URL, $uri);
curl_setopt($tw, CURLOPT_USERPWD, $login);
curl_setopt($tw, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($tw, CURLOPT_TIMEOUT, 30);
$twi = curl_exec($tw);
try {
$tweeters = new SimpleXMLElement($twi);
} catch(Exception $e) {
$retry = true;
}
if(count($tweeters) > 0 ) {
foreach($tweeters->users->user as $user) {
$datetime = new DateTime($user->status->created_at);
$timestmp = mktime(
$datetime->format('H'),
$datetime->format('i'),
$datetime->format('s'),
$datetime->format('n'),
$datetime->format('j'),
$datetime->format('Y')
);
$user_lists[$timestmp][] = $user;
}
}
if(!$retry)
$cursor = $tweeters->next_cursor;
}
if(count($user_lists) > 0 ) {
ksort($user_lists, SORT_NUMERIC);
foreach($user_lists as $timestmp => $user_list) {
foreach($user_list as $user) {
echo date("Y-m-d", $timestmp) . ' - ' . $user->screen_name.PHP_EOL;
}
}
}
echo PHP_EOL;
echo 'Req : '.$req_num.PHP_EOL;