2012年6月29日金曜日

PHPでTwitter botつくるよー|1.Oauth認証まで

仕事と趣味の狭間みたいなところで必要になったのでPHPでTwitter bot作ります。

つくる機能は以下のとおり。
・あるキーワードを含むツイートを、RTする。また、その発言者をフォローする。
・フォローしてくれたユーザーをフォローバックする。
・リストからランダムに内容を選んでツイートする。
・特定のユーザーの最新の発言をRTする。

巷には、コードいじらなくてもbot作ってくれるサービスもあるようですけど、ある程度いじれるほうがカスタマイズ効いて良いかなと思ったのでPHPでつくることにしました。
素晴らしいライブラリが沢山ありますし、そんなに手間はかからないはずです。

まず準備段階としてTwitter Developersで紹介されているphp向けのライブラリを導入
https://dev.twitter.com/docs/twitter-libraries#php

今回はAbraham Williamsによるtwitteroauthを使わせてもらいます。zipファイルをダウンロードして解凍後、twitteroauthフォルダごとphpファイルおく場所にコピーしておきます。

次に、Twitterの開発者サイトでアプリケーションを登録をします。
https://dev.twitter.com/
以下、たん英語版のページで進めていますのであしからず。


「Create an app」のリンクをクリックし、
Name、Description、Websiteを記入します。
Name、Descriptionは適当に、Websiteも適当で大丈夫です。
後ほど変更もできますので心配せずサクサク埋めていきます。
Callback URLは必要ありませんので空欄で大丈夫です。

規約に同意し、Captchaを入力してアプリケーション作成のボタンをクリックします。

Settingのタブをクリックし、Application Typeを「Read, Write and Access direct messages」に変更しておきましょう。
次にDetailタブの一番下の「Create My Access Token」をクリックし、Access Tokenを作成します。
これで準備は完了です。

まずはOauthの設定ファイルを作成


define.php
<?php
$conf = array(
'username'=>'UserName', //Twitter User Name
'consKey'=>'ConsumerKey', //Consumer Key
'consSecret'=>'ConsumerSecret', //Consumer Secret
'acsToken'=>'MyAccessToken',//My Access Token
'acsTokenSecret'=>'MyAccessTokenSecret',//My Access Token Secret
);
?>


そして、Oauth認証します。


<?php
//tweetoauthライブラリ読み込み
require_once('twitteroauth/twitteroauth.php');

// 環境設定情報読み込み
require_once('define.php');

/******************************************************
 Oauth認証
*******************************************************/
try {

$objOauth = new TwitterOAuth($conf['consKey'],$conf['consSecret'],$conf['acsToken'],$conf['acsTokenSecret']);

} catch (Services_Twitter_Exception $e) {

echo $e->getMessage();

}

これだけです。簡単ですねぇ。Abrahamさまさまです。
コードを貼ると長くなるので、2につづきます

0 件のコメント:

コメントを投稿