プロフィール

島田圭二

Author:島田圭二
Follow shimanp on Twitter

カレンダー
06 | 2017/07 | 08
- - - - - - 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)
コメント

はじめまして。
私はレンタルサーバーからcronで起動しています。

ただ、私の方も手動では投稿できるのですが、cronからの投稿はできない状況です。。。

私の力不足か、手動起動とcron起動で違いがあるのよく分からないのが現状です。

Dos攻撃が落ち着いたらできるようになるといいのですが。
ブラウザからの投稿もできるようになり始めたみたいですし、そろそろできるだろうと期待しています。

2009-08-10 月 12:21:23 | URL | しまだ #- [ 編集]
島田 様
お返事ありがとうございます。
先日書き込んだコメントを間違って削除してしまいました(泣)

今朝未明から、こちらのbotは正常に稼働し出しました。
どうやら例の攻撃で、制限がかかっていたようです。
今後も再び不安定な状態に陥るかもしれませんが、
下手に足掻かずに気長に待つことにします。
レスありがとうございました。

#しかし、こんな最中でも普通に稼働しているbotがいるのが解せませんがw
#それがスクリプトの違いによるものだと思い、ここ数日足掻いておりました。
2009-08-10 月 17:36:34 | URL | cron #YI61zrxo [ 編集]
コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。