【PHP】PHPからTwitter投稿してみたOAuth
以前、C#からはやった事があるが、そういやPHPからは無かった。
新設したサイトで更新をTwitterに投稿しようと思います。
その手順とかを。
BASIC認証は既に終了してOAuth認証となったのは分かっていたのですが、出来るだけPearとかをインストールせずに導入したい。サーバは出来るだけイジりたくない。
http://github.com/abraham/twitteroauth/downloads
こちらのサイトで配布しているものを利用しました。純粋なPHPで実現できます。test.phpがそのままサンプルコード群になってるので、見てもらうと分かります。
必要なのは、/twitteroauth/内のOauth.phpとtwitteroauth.phpの2つだけです。
Twitter Dev(アプリケーション登録)
https://dev.twitter.com/apps/new
予め、4つのコードを入手しておきます(広く提供するアプリの場合は、アクセストークンはそれぞれのユーザー毎に作成が必要)自分しか使わないのであれば、自分で生成します。
ACCESS_TOKEN/ACCESS_TOKEN_SECRET/CONSUMER_KEY/CONSUMER_SECRET
投稿するサンプルコードは、139行辺りになります。
一番上と下のtwitteroauth_rowは関係無いので、この2行だけとなります。
こんな感じで、4つのコードを準備して。
define('ACCESS_TOKEN’, ‘’);
define('ACCESS_TOKEN_SECRET’, ");
define('CONSUMER_KEY’, ");
define('CONSUMER_SECRET’, ");$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$parameters = array('status’ => $message);
$status = $connection->post('statuses/update’, $parameters);
これだけで投稿できちゃいます。
$parametersに指定できるパラメータは、利用するメソッド毎に、幾つかあって、POST(投稿)については、以下のページのようになります。(statusは、ツイート本文)
Twitter statuses/update仕様
https://dev.twitter.com/docs/api/1/post/statuses/update
最初、Windows/Eclipse/Xamppで動作確認したのですが、どうしてもエラーが発生します(curl)
php.iniに書かれた、extension=php_curl.dllこの行がコメントされていたら修正して回避。
サーバ(CentOS/PHP5.3)では問題無く動作したのでよかった。以前、色々インストールしまくったお陰なんだろう。
php –i | grep with-curlで検索してみて、表示されれば問題無いようです。