Twitter APIとPEAR::Services::Twitterで全フォロワーの情報を取得

Twitter APIを通して、あるユーザの全フォロワーを取得したいと思ったら以下の様な形になる。
ここでは、スクリーン名と設定してあるアイコンの保管位置を取得している。
ミソと言うわけではないが、$info = $twitter->statuses->followers(array("cursor" => -1)); としないと、フォロワーの人数が100人を超えた場合に続けてデータを取得するためのcursorの値が取れない。
最初設定しないで、cursorの値が取れず大いに悩んだ。


参照: Twitter REST API Method: statuses followers

<?php
require_once 'Services/Twitter.php';
require_once 'HTTP/OAuth/Consumer.php';

$consumerkey = "";        // Twitterから開発者が取得したConsumer keyを設定
$consumersecret = "";   // Twitterから開発者が取得したSecret keyを設定
$accesstoken = "";          // TwitterのOAuth認証で得ているAccess Token
$accessecret = "";           // TwitterのOAuth認証で得ているAccess Token Secret

try{
    $twitter = new Services_Twitter();
    $oauth   = new HTTP_OAuth_Consumer($consumerkey, $consumersecret, $accesstoken, $accessecret);
    $twitter->setOAuth($oauth);

    $followerprop_ary = array();
    $cursor = -1;

    do{
        $info = $twitter->statuses->followers(array("cursor" => $cursor));

        foreach($info->users as $follower){
            $tmp = array(
                "screen_name" => $follower->screen_name,
                "profile_img" => $follower->profile_image_url,
            );

        $followerprop_ary[] = $tmp;
    }

    $cursor = $info->next_cursor_str;
}while($cursor != "0");

print_r($followerprop_ary);
printf("Total %d followers.\n", count($followerprop_ary));

} catch (Services_Twitter_Exception $e) {
    echo $e->getMessage();
}
?>