Script PHP สำหรับแสดงรายการคนที่เราไป follow ว่ามีการ tweet ครั้งสุดท้ายเมื่อไหร่

เอาไปแกะต่อกันเองนะครับ เขียนแบบลวกๆ ไว้ใช้งานคนเดียว แต่มีหลายคนอยากได้ก็เลยจัดให้ครับ

เอาไว้ดูว่าคนที่เราตามอยู่เนี่ยเลิกเล่น 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;

4 thoughts on “Script PHP สำหรับแสดงรายการคนที่เราไป follow ว่ามีการ tweet ครั้งสุดท้ายเมื่อไหร่”

  1. $user_info = explode(‘:’, $login); เปลี่ยนเป็น $user_info = explode(‘:’, $login, 2); น่าจะดีกว่านะ password มี : ได้นะครับ

    • อ่อ …. ปรกติไม่มี password : เลยไม่ได้คิดถึงตรงนี้แฮะ …

      ok ครับ ขอบคุณสำหรับข้อเสนอแนะครับ

    • นานๆ ใช้ทีครับ ผมยอมเสีย API Limit สักชั่วโมงเพื่อลากเอาคนที่ผม follow แล้วไม่ยอม update มาเกือบปีออกจาก list แล้วถือว่าคุ้มค่ามากเลย

Comments are closed.