2012/03/25更新

[PHP] Twitterボットを作成してみました。Twitterへのアプリケーション登録、OAuth認証、Twitter APIを用いた呟きまで。

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

PHPを利用してTwitterボットを作成してみました。認証方法がBasic認証が廃止され、OAuth認証となりちょっとだけ面倒かと思いきや、何とかなりました。忘れないようにブログに残しておきます。

f:id:yoheiM:20110619122219j:image




まずはTwitterにアプリケーションを登録

f:id:yoheiM:20110619122220p:image

https://dev.twitter.com/apps/new

ここでTwitterの機能を使いたいアプリケーションの情報を登録します。登録するとOAuth認証に必要な「Consumer key」「Consumer secret」をゲットします。またさらに、登録した画面の右側にある「My Access Token」のリンクから、「Access Token」「Access Token Secret」を取得します。

OAuth認証については、http://gihyo.jp/dev/feature/01/oauthが分かりやすかったです(*゚▽゚)ノ




PHPでOAuth認証するためのライブラリを入手

ここでは、abrahamさんが提供しているOAuthライブラリ"twitteroauth"を使いました。ダウンロードはhttp://github.com/abraham/twitteroauth/tree/masterから。バージョン0.2.0以降を選択する。

ダウンロードした中から、「OAuth.php」「twitteroauth.php」を自分の作るTwitterボット用のPHPファイルを同じディレクトリに配備する。




やっと実装

やっとボットの実装。今回は、1件呟くような実装です。

<?php
// 準備
require_once('twitteroauth.php');
$consumer_key = 'あなたのconsumer key';
$consumer_secret = 'あなたのconsumer secret';
$access_token = 'あなたのaccess token';
$access_token_secret = 'あなたのaccess token secret';
$message = '初めまして。PHPから呟きを投稿してみました(*´∇`*)';

// OAuth認証
$twitter = new TwitterOAuth($consumer_key
    ,$consumer_secret, $access_token, $access_token_secret);

// メッセージを投稿する
$twitter->format = 'xml';
$tweet = $twitter->post('statuses/update', array('status' => $message));
echo $tweet;
?>

まずは、require_onceでOAuthのライブラリを読み込む。そしてTwitterOAuthクラスのインスタンスを作成することで、認証を行います。その後、TwitterOAuthのインスタンスのpostメソッドで、指定URLに指定したメッセージを投稿します。

コメントアウトしているOAuthRequestメソッドでURL, POST/GET, クエリ文字列を指定して呟きを投稿する事も出来ます。





最後に

OAuth認証は自分で実装しようとするとかなり大変そうですが、それがライブラリでやってもらえるのは凄く楽チン。良いですね~。

TwitterOAuthのメソッドでpostとgetがあるので、TwitterAPIに合わせて使うと、TiwtterAPIが色々と使えそうです。







こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。