この金土日と滋賀に開発合宿に行ってました。その成果その2です。その1はこちら
三村bot(@tukkomimura)を久々に修正。
成果その2は三村bot。やりたかったアプリ開発に行き詰まったので、気分転換に修正してみました。
三村botは、フォロワ全員につっこむようにしているのですが、気がつくとフォロワーが5000しか取得できていませんでした。5000以上取得するにはcursor_idを使った処理で、次々取得しないとですね。
その部分のコードはこちら
$cursor = -1; libxml_use_internal_errors(true); while($cursor != 0){ // フォロワー一覧取得 $req = $this->to->OAuthRequest("http://api.twitter.com/1/followers/ids.xml","GET",array("cursor"=>$cursor)); // XML文字列をオブジェクトに代入する $followers = simplexml_load_string($req); if($followers){ if(isset($followers->error) && $followers->error != ""){ print "##API ERRRO## ".$followers->error."\n"; }else{ $i = 0; foreach($followers->ids->id as $follower_id){ $follower_id = (int)(string)$follower_id; if(!is_numeric($follower_id)){ continue; } // DB登録処理 // (省略) } $cursor = (string)$followers->next_cursor; } }else{ echo "Failed loading XML\n"; foreach(libxml_get_errors() as $error) { echo "\t", $error->message; } } }
これで14000を超えるフォロワー全員が対象になったはず!