【PHP】Twitterの発言数チェック
OAuthをかませて何かやりたいと考え中。
取り敢えず公開アカウントで出来る(トークンとか必要なくできる)簡単な機能を作ってからと思い友人のbotを見てその日の発言数を数えるものを作ろうと思いました。
知りたいアカウントがあったことも理由の1つですが。
フォームにIDを入力しそのアカウントの発言(user_timeline)を取得し数えるのですが。
取得したツイートの投稿日時がGMTなのでJSTに変換して数えないといけません。
実際の取得したツイートの投稿時間は9月17日の0:50なのですが
<created_at>Thu Sep 16 15:50:17 +0000 2010</created_at>
このようになっています。
最初はそのまま計算して前日の発言も加える〜とかよく分からないことやっていたんですが実行する時間帯によっておかしくなるなと気づきGMTをJSTに変換できる方法はないかと探したらありました。
最後の
echo date('D M d H:i:s T Y', strtotime($deftime)+9*60*60);
これですね。
私のは場合はこんな感じ。
foreach($XML->status as $state){ $gmt = $state->created_at; $gmt = mb_convert_kana($gmt,"as",'utf-8'); $gmt = date("D M d H:i:s", strtotime($gmt)+9); if(preg_match("/$today/",$gmt) === 1){ $count++; } }
参考にさせていただいたところは +9*60*60 と書かれているのですが、私のでやると+9だけで良いようです。
ちなみに$todayには
$today = date("D M d");
が入っています。「曜日、月、日」だけが今日と同じであれば+1するようにしています。
ですがapiの関係で200までしか取得できないので1日に200以上postするとそれ以上は計算できないと思います^p^