一括で複数ユーザーをフォローする(させる)PHP書いた。
いろんなのを切った貼ったして作った。
Services::TwitterとHTTP::OAuthが動作に必要なので、Pearなどで入れるとよい。
$twitter->setOption( 'format', 'xml' );
の行は、PHPのバージョンが新しければ(JSON関数が使えるならば)不要。
このPHPにアクセスすると、TwitterのAuthorizationページが表示されて、Allowすると指定のユーザーをフォローして、最後にCOMPLETE_URLにリダイレクトする。
define('CONSUMER_KEY', 'コンシューマーキーを入れる'); define('CONSUMER_SECRET', 'シークレットキーを入れる'); define('CALLBACK_URL', 'このPHPの設置URLを書く'); define('COMPLETE_URL', '完了後、リダイレクトするURLを入れる'); $follow_id_array = array('uzulla','twitter_user_name' ); //フォローするユーザーのscreen nameを配列で入れる。 //--main require_once 'Services/Twitter.php'; require_once 'HTTP/OAuth/Consumer.php'; session_start(); if (isset($_SESSION['token'], $_SESSION['token_secret'], $_GET['oauth_verifier'])) { $twitter = new Services_Twitter; $twitter->setOption( 'format', 'xml' ); $oauth = new HTTP_OAuth_Consumer(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['token'], $_SESSION['token_secret']); $oauth->getAccessToken('http://twitter.com/oauth/access_token', $_GET['oauth_verifier']); $twitter->setOAuth($oauth); foreach($follow_id_array as $screenname) { try { $msg = $twitter->friendships->create($screenname); } catch (Exception $e) { //echo $e->getMessage(); // すでにフォロー済みだとエラーがでるので } } session_destroy(); http_redirect( COMPLETE_URL ); } else { $oauth = new HTTP_OAuth_Consumer(CONSUMER_KEY, CONSUMER_SECRET); $oauth->getRequestToken('http://twitter.com/oauth/request_token', CALLBACK_URL); $_SESSION['token'] = $oauth->getToken(); $_SESSION['token_secret'] = $oauth->getTokenSecret(); $url = $oauth->getAuthorizeUrl('http://twitter.com/oauth/authorize'); http_redirect($url); } //--function function http_redirect($url) { // pecl_http があれば不要 header('Location: '.$url ); exit; }