前回、Twitter botを作るための基礎知識としてTwitter APIについて説明しました。今回は実際にプログラムを組んでみましょう。ここでは例としてPHPでの発言方法を紹介します。
Twitter botに発言させてみる
まずはPHPの標準機能を使って発言をしてみます。Twitter用ライブラリを使った発言については後ほど解説します。
上記のうち、ユーザ名とパスワードは用意しておいたアカウント情報に置き換えてください。これを、たとえばtest.phpというファイル名で保存し、PHPコマンドから実行します。
okと表示されたでしょうか?ユーザ名として指定したアカウントで正しく発言できているか確認してみましょう。
さて、今回はbotに発言させるためにユーザ名/パスワードを直書きしてBASIC認証を用いましたが、実はこの方法は2010年6月30日で使えなくなります。今後使えなくなってしまいますので、新しい認証方式であるOAuthを用いた発言を紹介します。
また、合わせてOAuthを含めて簡単に発言ができるPHP用のTwitterライブラリも紹介します。
OAuthとは
OAuthとは、Twitter APIでも使われている認可情報を受け渡すためのプロトコルです。OAuthの詳しい説明は割愛しますが、TwitterではBASIC認証に代わる認証方式として使用することが推奨されています。OAuthに関する詳しい説明はゼロから学ぶOAuthが参考になります。
OAuthアプリを登録する
Twitter APIでOAuthを利用するためには、アプリ登録が必要となります。Twitter botはアプリではないのですが、一種のアプリとみなして登録が必要です。
複数のTwitter botを作った場合でもアプリ登録は1つだけで大丈夫です(bot毎に分けることも可能です)。
では実際にOAuthアプリを利用してみましょう。まずhttp://twitter.com/appsにアクセスしてください。
図1のようなTwitterアプリケーションの画面が表示されたら、「新しいアプリケーションを追加 ≫」のリンクをクリックします。すると図2のような画面が表示されます。
必須項目について説明します。必須項目以外は、とくに変更する必要はありませんのでそのままで大丈夫です。これらの入力情報は後から修正が可能です。
アプリケーション名 |
Twitterの発言と一緒に「(アプリケーション名)から」と表示されます。 |
アプリケーションの説明 |
必須項目ですが、bot用でしか使わないのであれば、適当な入力で構いません。 |
アプリケーションのウェブサイトURL |
Twitterの発言と一緒に表示される「(アプリケーション名)から」をクリックした時のリンク先になります。 |
アプリケーションの種類 |
Twitter botで利用する場合はクライアントアプリケーションを選択してください。 |
Default Access Type |
プログラムからbotに発言させる場合はRead & Writeを選択します。 |
最後にCAPTCHAを正しく入力して保存を押します。
入力内容に不備がなければ、Application Detailsが表示されます。
このうち、
- Consumer key
- Consumer secret
が今回のTwitter botのプログラム作成に必要となる情報です。
これらの情報はhttp://twitter.com/appsにアクセスすれば再度確認できます。
PHP用Twitterライブラリtwitteroauth
では、さっそくOAuthを使ってTwitter botから発言させてみるのですが、自前でOAuthを実装するのは簡単ではありません。なのでOAuthに対応したTwitterライブラリを使って発言させてみましょう。
PHPでOAuthに対応したTwitterライブラリはいくつかありますが、ここではtwitteroauthを紹介します。
ダウンロードページから最新版(2010/05/16時点で0.2.0-beta3)をダウンロードします。圧縮ファイルを解凍すると、twitteroauthディレクトリの中に
- OAuth.php
- twitteroauth.php
の2ファイルか確認できるかと思います。今回必要となるファイルはこの2つです。
twitteroauthの設定
OAuthを利用するためには、先ほど登録したOAuthアプリからTwitter botのアカウントを操作できるように許可を与える(OAuthトークンを取得する)必要があります。そのOAuthトークンを取得するプログラムを以下に掲載します。
これをget_token.phpのファイル名で保存します。
利用方法ですが、まず手元のWebブラウザでTwitter botのアカウントをつかってログインします。ログイン後、先ほど保存したget_token.phpをphpコマンドから実行します。
表示されたURLにアクセスし、Twitter botを先程登録したOAuthアプリから操作できるよう許可を行います。許可をすると、暗証番号が表示されますので、実行中のget_token.phpの画面に暗証番号を入力してください。
正しく入力されると「成功しました」の表示とともに、$oauth_tokenと$oauth_token_secretが表示されます。このoauth_tokenと「失敗しました」と表示された場合は設定を確認し、もう一度やり直してみてください。
twitteroauthを使った投稿テスト
これでOAuthを用いて投稿する準備が整いました。先程と同じbotからの発言をOAuthを用いて実行してみます。
これをoauth_test.phpで保存し、phpコマンドから実行してみましょう。
正しく発言できたでしょうか。
今回は基本的な発言方法とOAuthの認証情報の取得およびPHPのTwitterライブラリを紹介しました。次回はTwitter botの種類によってどのようなプログラムを組むといいかの事例を紹介したいと思います。