三村bot久々の修正
この金土日と滋賀に開発合宿に行ってました。その成果その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を超えるフォロワー全員が対象になったはず!