Twitter APIの使用方法

この記事はだいぶ前に書かれたものなので情報が古いかもしれません

※この記事は情報が極めて不足しています。でも編集はできません。ご注意ください。



全くと言っていいほど話題に出さなかったんですけど、実はTwitterやってるんですよ。始めたのつい最近なんですが、良かったらフォローしてやってください。

http://twitter.com/normnois


基本的にはbotではないんですけど、半botくらいの感じでいこ~かな~と思ってまして、とりあえず手初めに、ここで小説や音楽を投稿した際にそれを自動でTwitterにつぶやけるようにしました。

TwitterのAPIを使うための参考サイトさんは良質なサイトがたくさんあるので、ここではもんのすげ~端折っていきます。あなたはこの記事を読んでもいいし、読まなくてもいい。たぶん、読まなくてもいい。この一文↓だけ読んどけば、全て解決じゃ。



とりあえずググっとけ



アクセストークンを取得するのじゃ

アクセストークンは、TwitterのAPIを使うのに必要になるものです。正確な意味は分かりませんが、アクセスするためのトークンってことですね。詳細を知りたい人は、とりあえずググってみましょう。俺に聞いても分からない。なぜなら俺も分からない。トークンだってのは分かります。

アクセストークンの検索結果


まずはアプリの登録から

Twitterをやってる人なら分かると思うんですけど、設定のページに『連携アプリ』ってのがあるんで、ここでアプリを登録すると、アプリを使用するために必要なキーが手に入ります。これを使ってリクエストトークンやらアクセストークンをゲットするわけですね。

そういや、マジック・ザ・ギャザリングにあったよね、トークン。

マジックザギャザリング トークンの検索結果


PEARをインストールしよう

TwitterのAPIは、OAuthという認証を使っています。認証に必要なスクリプトはPEARにやってもらいましょう。HTTP_OAuthってのをインストールすれば、確か大丈夫だったはずです。HTTP_Reauest2Net_URL2も必要だったかな。もし動かなくて何かのファイルが足りなさそうであれば、すいません、ググってください。

ちなみに梨は英語でpearでしたね。僕は果物の中では梨が一番好きです。

梨の検索結果


アクセストークンゲットだぜ

ざっぱに説明すると、アクセストークンはアプリを登録したときにもらえるコンシューマキーを使ってリクエストトークンを取得しさらにそのリクエストトークンを使って認証用URLにアクセスしoauth_veriferというパラメータの値を使うことで取得できます。

とりあえずは、認証用URLを取得してみませう。

//インスタンスの生成(っていう説明でいいのか?)
$consumer_key = 取得したConsumer key;
$consumer_secret = 取得したConsumer secret;
$consumer = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret);
$http_request = new HTTP_Request2();
$http_request->setConfig('ssl_verify_peer', false);
$consumer_request = new HTTP_OAuth_Consumer_Request;
$consumer_request->accept($http_request);
$consumer->accept($consumer_request);

//リクエストトークンを取得する
$callback = コールバックのURL(認証成功時に帰って来るURL);
$consumer->getRequestToken('https://twitter.com/oauth/request_token', $callback);
$request_token = $consumer->getToken();
$request_token_secret = $consumer->getTokenSecret();

//認証用URLを取得
$auth_url = $consumer->getAuthorizeUrl('https://twitter.com/oauth/authorize');

このサイトはCakePHPで作っているので(ブログはwordpress)本当は上記の処理もコンポーネント化して作りました。なので上記の書き方とは若干違います。記事用に直したことでおかしな部分があるかもしれません。上と全く同じに書いたのに動かないってときは、ググる前にぜひ俺に一報入れてください。いつでもゲザる準備はできてます。ゲザるという単語に聞き覚えがない方は、ググってください。

地獄のミサワの検索結果

認証用URLが取得できたら、そのURLにアクセスしてみましょう。何か許可を求められたらとりあえず許可しとけばいいっす。認証に成功するとコールバックURLに戻って来ることになります。アプリを登録する際にコールバックURLも入力するんですけど、僕がやった限りでは、あそこは何でもいいっぽいですね。コードの中でコールバックURLを書けば、そこに帰って来るみたいです。

無事に帰って来たらURLの後ろに『oauth_verifer=○○』みたいなのがあると思うんですが、この○○が手に入ればこっちのもんです。あとちょっとです。ふぁいとおー、なのです。誰のセリフか知りたい人はとりあえずググってくだちゃれ。

梨花ちゃまの検索結果

$oauth_verifer = URLにくっついてきたoauth_verifer
$consumer->setToken($request_token);
$consumer->setTokenSecret($request_token_secret);
$consumer->getAccessToken('http://twitter.com/oauth/access_token', $verifier);
$access_token = $consumer->getToken();
$access_token_secret = $consumer->getTokenSecret();

細かい説明はほとんどしてませんが、これでアクセストークンが取得できました。$access_tokenと$access_token_secretがそうです。お疲れさまっした。

このアクセストークンを使えば、いろいろなことが可能になります。Twitterにつぶやくことはもちろん、フォローしたりダイレクトメッセージを投げたり花粉症が治ったり一流大学に合格できたり一晩で5人の女性の告白されたり。

すごいですね! すごいですね!

幸運のパワーストーンの検索結果



実際につぶやいてみよう

無事にアクセストークンをゲットできた(と思う)ので、実際に何かしてみましょう。

手初めに、どうやれば一晩で5人の女性に告白してもらえるか、まずはそれを真面目に考えてみますか。



……

………

…………

……………

ツイートするためにはhttps://twitter.com/statuses/update.xmlにリクエストを送ればいけます。

//アクセストークンを使ってツイート
$text = 'こんにちは';
$consumer->setToken($access_token);
$consumer->setTokenSecret($access_token_secret);
$consumer->sendRequest('https://twitter.com/statuses/update.xml', array('status' => $text), 'POST');

こんなんでオッケーです。これでツイッターに『こんにちは』とつぶやかれていると思います。

他にもいろいろなことができるので、詳しくはTwitter API仕様書を見るといいと思います。



いかがでしたでしょうか。僕自身は分かってるからこんな説明でも大丈夫かなと思ってしまわなくもないんですけど、あまりいい説明ではないような気もします。この記事だけ見て動かないぞってなった人は、Twitter API OAuthあたりでググれば、もっとちゃんとしたやり方を書いてくれているサイトさんがいっぱい見つかると思います。ぜひ参考にしてください。

一晩で5人の女性に告白される方法の検索結果

うちの半botさんは、当面は小説か音楽をアップしたときに連動してツイッターにつぶやく感じになると思いますが、できればこうして日記を更新したときにもそれをつぶやけるようにしたいですね。

wordpressの管理画面をカスタマイズしないといけないんだろうか……? 管理画面のカスタマイズってまだやったことがないから、よく分かんないです。記事の投稿をトリガーに発動するプラグインでも作ればいいのかな。っていうか、そういうプラグインはすでにあるかもね。

でもまあ、wordpressは仕事でもよく使うので、機会があれば自分でプラグインを作ったりとかもしておこうと思います。



ってな感じで、がっつりAPIを使って何かをやりたいって人にはいろいろと足りないと思いますが、さわりの部分くらいは助けになれるかもしれないし、なれないかもしれません。

まあ、困ったらググればたいていの情報は手に入るさ。だからこの記事を見て上手くできなかったとしても、気にすることはないです。

とりあえず、興味が沸いたらまずはやってみることさ。やってみりゃその後のことは何となく何とかなる。みんながついてるさ。

だから気負わずに、イザユケ! ボウケンシャタチー!

世界中の迷宮3の検索結果

まだコメントはいただけてないみたい……
もしかしたら何か関連しているかも?