1年くらい前に作ったTwitterのbotですが、当時はBASIC認証を使っていました。しかし今月末でBASIC認証は使えなくなり、OAuthしか受け付けてくれなくなります。なので対応させました。
前はPHPの非公式版Services_Twitterを使ってたのですが、どうもOAuthに対応しないようなので、今回は公式版Services_Twitterを使います。
入れたのは以下のパッケージです。
Services_Twitter-0.6.2
HTTP_OAuth-0.1.18
HTTP_Request2-0.5.2
Net_URL2-0.3.1
とりあえず投稿するには以下のようにします。ほとんどサンプルのまんまだけど。
require_once(“Services/Twitter.php”);
require_once(“HTTP/OAuth/Consumer.php”);
$twitter=new Services_Twitter();
$oauth=new HTTP_OAuth_Consumer($key, $secret, $token, $tokenSecret);
$twitter->setOAuth($oauth);
$status=$twitter->statuses->update($message);
HTTP_OAuth_Consumer()に入れるパラメータはここから登録したり確認したり出来ます。
今回も自動でフォローしたいので、その処理を入れます。ただ処理自体は前回とほぼ同じなので、変更部分だけ。
// フォローしているリスト
$friends=$twitter->statuses->friends(array(“page”=>1));
// フォローされているリスト
$followers=$twitter->statuses->followers(array(“page”=>1));
// フォローする
$result=$twitter->friendships->create($sname);
フォロー済みのアカウントにフォローしようとするとエラーで止まってしまいます。なので厳密にチェックしておいた方が良いですね。
これで9月以降も今までどおりbotが動くようになります。しかしbot放置してたんだけど、いつの間にかフォロワーが500超えてるなぁ。メインのアカウントは170くらいなのに。