スマートフォンやhtml5+CSS3など新技術に四苦八苦。jQuery、AjaxなどJavaScriptも難しいですね。そんなWebに悩む人のネタ帳です。

これまでに得たTwitter APIの知識を活かしてbotを作ってみました。
Twitterは通常、人が手動でWebに入力したつぶやきが反映されます。しかし、入力をプログラムなどで自動化したものをロボット(Robot)、通称ボット(bot)と呼ぶようです。

プログラムは前回に構築した
PHPでTwitter APIを使ったOAuth認証
をベースにします。
OAuth認証で紹介した方法では、アプリに用意されているコンシューマキーからリクエストトークンを取得し、次にアクセストークンを取得し、それを元にプログラムからツイートができるというものでした。


今回、botを作るにあたり、自動的につぶやくのは自分のアカウントです。自分のアカウントであれば、直接Twitterのサイトよりアクセストークンを取得することができます。
twitter developers
アクセストークンまでの遷移がよく分からないのですが。。。「Your apps」から任意のアプリケーションの「Edit Details」を選択。サイドメニューの「Application detail」から「My Access Token」を選択すると「Access Token」と「Access Token Secret」を取得するとこができます。

したがって、前回のプログラムを流用すると、以下のようにしてつぶやくことができます。

require_once('HTTP/Request2.php');
require_once('HTTP/OAuth/Consumer.php');
$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);
$consumer->setToken("Access Token");
$consumer->setTokenSecret("Access Token Secret");
$res = $consumer->sendRequest("https://twitter.com/statuses/update.xml", array('status' => 'てすとです'), "POST");

あとは、「’てすとです’」の部分を予め用意したDBから取得するなり、RSSから取得するなり。そして、このプログラムを任意のアクセスのタイミングで実行するもよし、cronなどに登録するもよし。

以上で基本的なbotのしくみが完成です。

このエントリーをはてなブックマークに追加

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search