『twitterのbotなどで OAuthを使う方法(PHPバージョン)』へたくさんの人が来られるのでその誘導用記事。
まずtwitterに登録しよう
bot用のOAuthの設定を始めるに当たってtwitter側で登録する必要がある。
botのアカウントでtwitterにログインをした状態で以下のリンクへ。
『Twitter Applications | dev.twitter.com』
すると下の画像のようなアプリケーション一覧画面になる。
まだOAuth用の登録をしていないなら一覧には何も表示されません。
画面右側にある『新しいアプリケーションを登録する』をクリック。
そうすると下のような設定画面がでて来る。
設定してアプリケーションを登録した後、アプリケーション一覧画面へ戻る。
登録したアプリケーションの画像をクリックすると個別の情報ページへと飛ぶ。
モザイクかけてあるところが秘密にするべき情報。
bot用の設定ならばCallback URLは空欄だ。
この画面の中の『Consumer key』と『Consumer secret』が今回OAuthを使うのに必要なもの。
そして画面右側にある『My Access Token』をクリック。
そうすると『Access Token』と『Access Token Secret』が発行される。
これら4つのランダムな文字列を使ってOAuth用のプログラムを動かす。
プログラムの準備をしよう
まず、『abraham’s twitteroauth at master – GitHub』からプログラムをダウンロードしよう。
バージョンは0.2.0以降のものをダウンロードする。βが付いてるけど動くみたい。
ダウンロードし解凍した中の『twitteroauth』フォルダの中の『OAuth.php』と『twitteroauth.php』を使ってbotを動かす。
それら二つをbotと同じ場所にコピペだ。
動作テストの例としてAPIを使うサンプルを少し詳しく紹介。
『http://api.twitter.com/1/statuses/mentions.xml?count=30』の内容をモニョモニョする。
PHP5以降が必須です。
<?php
// twitteroauth.phpを読み込む。パスはあなたが置いた適切な場所に変更してください
require_once("twitteroauth.php");
// Consumer keyの値
$consumer_key = "consumer_key";
// Consumer secretの値
$consumer_secret = "consumer_secret";
// Access Tokenの値
$access_token = "access_token";
// Access Token Secretの値
$access_token_secret = "access_token_secret";
// OAuthオブジェクト生成
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
//APIを呼び出す(今回はリプライを30件取得する)
$result = $to->OAuthRequest("http://api.twitter.com/1/statuses/mentions.xml","GET",array("count"=>"30"));
//扱いやすくする
$xml = simplexml_load_string($result);
//foreachを使い処理をする
foreach( $xml->status as $value ){
$status_number = $value->id; //個別発言のステータスナンバー
$text = $value->text; //発言内容
$screen_name = $value->user->screen_name; //発言者のtwitterID
//各発言を表示する(botだと$textに特定文字列がある場合リプライするとかの処理を入れる)
echo $screen_name . "さんから@が飛んできました。<br />";
echo "発言内容は" . $text . "で、その個別ページはhttp://twitter.com/" . $screen_name . "/status/" . $status_number . "です。<br />";
echo "<br />";
}
?>
コードの上にマウスを持ってくるとコードの右上の方にプリンタの画像とかが出てくるので、
その一番左にあるプレインテキストの画像をクリックすれば別ウインドウにコピペしやすく再表示されます。
以上で解説は終わりです。
何か質問があればコメント欄へよろしくお願いいたします。








