プロフィール

島田圭二

Author:島田圭二
Follow shimanp on Twitter

カレンダー
07 | 2009/08 | 09
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
読断と変見内検索
訪問ありがとうございます
最近のコメント
最近のトラックバック
関連リンク
カテゴリー
月別アーカイブ


スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)
PHPでtwitterに投稿
いまさら感がありますが、TwitterのBotを作ろうと思って、まずは投稿してみた。言語はPHP。

とりあえずソース


<?php
$url = "http://twitter.com/statuses/update.xml?";
$username = "ユーザ";
$password = "パス";
$params = "status=". rawurlencode("投稿するメッセージ");

$result = file_get_contents($url.$params , false, stream_context_create(array(
"http" => array(
"method" => "POST",
"header" => "Authorization: Basic ". base64_encode($username. ":". $password)
)
)));
?>

たったこれだけ。

まずTwitterのAPIの説明


TwitterAPIのドキュメントを開く。
この中に「statuses update」がある。これが投稿に関するAPIなので開いて読む。

読むと以下のことがわかった。ような気がする。
・URLは「http://twitter.com/statuses/update.[format]。
 formatの部分はレスポンスの形式を入力する。
・形式はxml, json, rss, atom がある。
・HTTPのメソッドはPOST。
・認証が必要
・負荷制限なし?1時間に150回までしかリクエストしちゃダメってのがないらしい。
・POST時のパラメーターは二つで、statusとin_reply_to_status_id。
 statusは投稿するメッセージなので必須。
 in_reply_to_status_idは別のTwitterユーザに対する返答の場合指定するオプションパラメータ。

ソースの説明


たいしたソースではないので説明というほどでもないけど、一応。

PHPにはfile_get_contentsという便利な関数がある。
この関数にHTTPのURLを指定すると、指定したURLにHTTPリクエストを発行して、
HTTPレスポンスを文字列で返してくれる。
なので、今回はこの関数を利用してTwitterに接続を試みる。
$result = file_get_contents($url.$params , false, stream_context_create(array(

第一引数に$URL+$paramsを指定している。
URLにはAPIにあったURLを指定し(formatはxmlにした)、パラメータにAPIで必須のstatusを指定。
第二引数はレスポンスを読み込むときエンコードするかとかバイナリとかなので、
とりあえず、falseにする。
このAPIでは認証を使用するため独自のコンテキストを作成するので第三引数に
stream_context_createを指定。
認証にはいくつか方法があるみたいだけど、今回はBasic認証を使用した。

以上説明終わり。

*参考URLっていうかもろぱくリ
HIRACCHI H.D.:PHPでTwitterに投稿

php | 【2009-08-08(Sat) 18:41:34】 | Trackback:(0) | Comments:(2)
前のページ 次のページ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。