つまり、基本的に私がやりたいことは、現在ライブのストリームの視聴者数をリアルタイムで取得することです。ストリームがライブかどうかを確認しています。更新された値をドキュメントに送信できるように、更新された値を取得するためにAPIを常にpingする方法はありますか。この場合、最終的に設定した$viewers
変数を更新します。それが違いを生む場合、私が作成しているアプリケーションはCodeIgniter framework
. 以下は、現在呼び出しを行う必要があるコードです。現在、実際の値を取得するにはページをリロードする必要があり、cURL を使用して API 呼び出しを行っています。
class Streaming {
var $base_url = "https://api.twitch.tv/kraken/";
var $client_id = 'client_id_here';
public function load_stream_stats($channel) {
$curl = curl_init();
curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $this->base_url . 'streams/'. $channel .'?client_id=' . $this->client_id
)
);
$result = curl_exec($curl);
//makes sure that the cURL was excuted if not it generates the error stating that it didn't succeed.
if(!curl_exec($curl)){
die('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl));
} else {
//cURL Response worked
if(!empty($channel)) {
$return = json_decode($result);
if($return->stream == null) {
return;
// stream is offline no need to do anything
} else {
$stream_details = array('viewers' => $return->stream->viewers);
// $return->stream->viewers gives a number e.g. 1052
return $stream_details;
}
}
}
curl_close($curl);
}
}
問題は、TwitchtV API に ping を送信して、REST API から更新された視聴者数を取得する方法です。