ネタを思いついたのでtwitterのbotを作ってみることにしました。ネタがネタだけに、他の誰かに実装されてそうで怖いのですが。
環境構築の方法を簡単にまとめておきます。
使うもの
前提
窓っ子なので、windows7です。簡単なphpは理解しておいてください(私が低レベルなので、そこまでスキルは求めません)。WebAPIがどのような仕組みで動いているのか、RESTとは何なのかなどの概要を知っておくと、より理解が深まると思います。しかし、ライブラリを用いるのでそのあたりはうまく隠蔽されています。そのため、知らなくても全く問題ないです。
ダウンロードリスト
- xampp for windows
- abraham/twitteroauth
- 適当なテキストエディタ
xamppはapacheを内包するパッケージなので、apacheを既に使用可能な状態にしている方はダウンロードする必要はありません。ただし、記事ではxamppの機能の一部を用いているので、適宜読み替えてください。
xamppのインストールは適当に終わらせてください。64bit/win7や32bit/winxpで動作を確認しているので、きっと動くはずです。分からなければ、調べてみてください。
[note]たかがphpを動かすためにapacheまで入れるのはオーバーだと思われる方が居るかもしれませんが、botを高機能にしていくに当たって必要となる環境が揃っているので、とりえあずお勧めしておきます(導入も簡単なので)。[/note]
設定の書き換え
xampp(というより、php)の設定を書き換える必要があります。以下の箇所を書き換えてください(パスはxamppのインストールフォルダに読み替えてください)。要は、セミコロンを外して、コメントインしてください。
;C:\xampp\php\php.ini ;extension=php_curl.dll
これを、
;C:\xampp\php\php.ini extension=php_curl.dll
こうします。
xamppの起動
xampp(apache)は、ローカルWebサーバを立てるために必要です。phpを実行するためには
その前に
ダウンロードしておいたtwitteroauthを解凍して、abraham-twitteroauth-xxxxxxx\twitteroauthの中の[OAuth.php][twitteroauth.php]を、C:\xampp\htdocs\yourprojectname\にコピーしてください(yourprojectnameは任意の名前をつけてください)。
さてはじめましょう
デスクトップにでもショートカットアイコンがあればそれ、なければ、C:\xampp\xampp-control.exeから引っ張り出してください。
コントロールパネルが出てくると思うので、右上の[Shell]をクリックしてください。cmd.exeのようなものが立ち上がると思うので、cd htdocs\yourprojectnameしてください。
[note]C:\xampp\xampp_shell.batからでもshellを起動できると思います。[/note]
[important]分かっている人からは、http://localhost/経由でアクセスできるじゃないかという考えも出てきそうですが、これでは上手くいかないので気になるなら試してみてください(原因が良くわかっていないのですが、パスが通ってないなどの理由だと思われます。面倒なので、この記事ではそのままで出来る方法を試します)。[/important]
twitterのテストアカウントを作成する
順序が逆じゃないかという話ですが、bot専用アカウントを作ってきてください。自分のアカウントでのテストで十分だと思うならそれでも良いですが、間違って操作してしまったり、暴走させたときに被害を最小限に抑えるためにも……
テストアカウントでログイン後、http://twitter.com/appsにアクセスしてください。アプリケーション(bot)の登録をするわけですが、要はtwitterを制御する権限を付与するための操作だと思って良いです。
実際に登録してみてください。画像認証が結構キツいので、私はこれで躓きました……
アプリケーション名 | 適当にbotの名前を入れてください(ここで記入したものが、ツイートのfromに表示されます)。 |
---|---|
アプリケーションのウェブサイトURL | fromをクリックしたときに飛ばされるURLを指定します。 |
アプリケーションの種類 | クライアント |
Default Access Type | Read & Write |
無事登録できたら、Consumer keyとConsumer secret keyをメモしておきます。後から確認することも出来ますし、設定を変更することも出来ます。
botを認証してもらう
http://gihyo.jp/dev/serial/01/twitterbot/0003?page=2この記事からget_token.phpのソースコードを拝借します。htdocs\yourprojectname\以下、ライブラリと同レベルのフォルダに保存してください。
先ほどのshellでphp get_token.phpを実行すると、認証画面がブラウザに現れるので、認証してください。ごにょごにょやっていると、番号が出てくるので、それをshellに入力してOAuth tokenとOAuth secret tokenが取得できます。これもメモっておいてください。
これで、とりあえずbotを製作する準備が完了しました。
ピンバック: phpでtwitterbotを作ってみる(作成) | jikkenjo.net
ピンバック: twitterアプリに新しい権限が追加されていた | jikkenjo.net