動かざることバグの如し

近づきたいよ 君の理想に

TwitterのStreamAPIをPHPで使ってみる

ネットでよく貼られてるベーシック認証によるStreamAPIはもう出来ないっぽい?
が、イチから認証すると面倒なので、tmhOAuthというライブラリを使う。やったね

<?php
require_once("tmhOAuth.php");
//取得したデータの処理
function filter_callback($data, $length, $metrics){
	$tweet = json_decode($data);
	if($tweet->user->lang === "ja"){
		$screenName = $tweet->user->screen_name;
		$text = $tweet->text;
		echo '@' . $screenName . ' ' . $text . '<hr />';
	}
}
$tmh = new tmhOauth(array(
	'consumer_key' => '',
	'consumer_secret' => '',
	'token' => '',
	'secret' => ''
));
$paras = array(
	"track" => 'twitter'
);
//$url = 'https://stream.twitter.com/1.1/statuses/sample.json';
$url = 'https://stream.twitter.com/1.1/statuses/filter.json';
$tmh->streaming_request("POST", $url , $paras, 'filter_callback');

制限として

  • タイムアウトがあるっぽい?
  • 一つのアカウントで同時接続は不可能。とのこと