PHPでTwitterに投稿する

(1/1)
PHP で Twitter にメッセージを投稿するプログラムを作る。

サンプル・プログラム

ダウンロード(PHP4/5共用)

このスクリプトを実行すると、下図のような画面が現れる。
使い方は、メッセージ欄にメッセージを入力し、[投稿]ボタンを押下するだけというシンプルなものだ。
PHPでTwitter投稿

サンプル・プログラムの解説:BASIC認証

0015: $Username = 'xxxxxxxxxx';         //あなたのTwitterユーザー名
0016: $Password = 'xxxxxxxxxx';         //あなたのTwitterパスワード

0049:     //Basic認証用のヘッダ
0050:     if (isset($URL['user']) && isset($URL['pass'])) {
0051:         $request .= 'Authorization: Basic ' . base64_encode($URL['user'] . ':'. $URL['pass']) . "\r\n";
0052:     }

Twitter に投稿するには、ユーザー名とパスワードで BASIC認証* を受ける必要がある。まず、ユーザー名を $Username に、パスワードを $Password にセットする。
space
PHP でテキストから緯度・経度を求める」で使用したユーザー関数 http は BASIC認証を受けることができるので、これをそのまま流用するのことにした。
引数 $url は下記のように指定する。
http://ユーザー名:パスワード@URL の本体

space

サンプル・プログラムの解説:投稿

0110:     //投稿する(TwitterAPI; statuses/update)
0111:     $url = "http://{$username}:{$password}@twitter.com/statuses/update.xml";
0112:     $method = 'POST';
0113:     $post = array('status' => $message);
0114:     $xml = http($url$method, '', $post, '');

投稿は簡単である。
statuses/update メソッドの URL である "http://twitter.com/statuses/update.xml" で BASIC認証を行い、POST で status=メッセージ を渡せばよい。
space
戻り値は XML 形式である。今回はエラーかどうかだけを判定している。
TwitterAPI は、ファイル名の拡張子によって、戻り値を XML / JASON / RSS / Atom から選べるというユニークな設計になっている。

参考サイト

参考書籍

(この項おわり)
header