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

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

เอาไว้ดูว่าคนที่เราตามอยู่เนี่ยเลิกเล่น twitter ไปหรือยัง จะได้ไป unfollow ได้ เพื่อลดจำนวนคนที่เรา follow ครับ

  1. < ?php
  2.  
  3. $type = 'friends'; // friends | following
  4.  
  5. $login = "username:password";
  6. $cursor = -1;
  7. $user_info = explode(':', $login, 2);
  8. $req_num = 0;
  9. $user_lists = array();
  10.  
  11. while($cursor != 0 ) {
  12.  
  13.     $req_num++;
  14.     $tweeters = null;
  15.     $retry  = false;
  16.     $uri = "http://twitter.com/statuses/".$type.".xml?screen_name=".$user_info&#91;0]."&cursor=".$cursor;
  17.  
  18.     $tw = curl_init();
  19.     curl_setopt($tw, CURLOPT_URL, $uri);
  20.     curl_setopt($tw, CURLOPT_USERPWD, $login);
  21.     curl_setopt($tw, CURLOPT_RETURNTRANSFER, TRUE);
  22.     curl_setopt($tw, CURLOPT_TIMEOUT, 30);
  23.     $twi = curl_exec($tw);
  24.  
  25.     try {
  26.         $tweeters = new SimpleXMLElement($twi);
  27.     } catch(Exception $e) {
  28.         $retry = true;
  29.     }
  30.  
  31.     if(count($tweeters) > 0 ) {
  32.         foreach($tweeters->users->user as $user) {
  33.             $datetime = new DateTime($user->status->created_at);
  34.             $timestmp = mktime(
  35.                 $datetime->format('H'),
  36.                 $datetime->format('i'),
  37.                 $datetime->format('s'),
  38.                 $datetime->format('n'),
  39.                 $datetime->format('j'),
  40.                 $datetime->format('Y')
  41.             );
  42.             $user_lists[$timestmp][] = $user;
  43.         }
  44.     }
  45.     if(!$retry)
  46.         $cursor = $tweeters->next_cursor;
  47. }
  48.  
  49. if(count($user_lists) > 0 ) {
  50.     ksort($user_lists, SORT_NUMERIC);
  51.     foreach($user_lists as $timestmp => $user_list) {
  52.         foreach($user_list as $user) {
  53.             echo date("Y-m-d", $timestmp) . ' - ' . $user->screen_name.PHP_EOL;
  54.         }
  55.     }
  56. }
  57. echo PHP_EOL;
  58. echo 'Req : '.$req_num.PHP_EOL;
  59. ?>

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 แล้วถือว่าคุ้มค่ามากเลย

Leave a Reply