生配信チェッカーサイトを作りたいブログ

生配信チェッカーサイトを作りたい人がメモ書きをするブログ

Twitcastingから情報を取得

TwitcastingはAPIを提供しているのでこれを利用する。
http://twitcasting.tv/indexapi.php

認証不要でリクエスト頻度は1分間に60回まで。これをオーバーすると5分間停止。
生配信の情報を確認するのは下記APIから。
http://api.twitcasting.tv/api/livestatus?param=value
デフォルトはJSONPなのでjson形式にしたい場合はtype=jsonを指定する。
説明書
http://twitcasting.tv/indexapilivestatus.php

Javascript

//JQueryを読み込んでおく
var id_twitcasting = "abeshinzo"; //取得チャンネルのID
$.getJSON('http://api.twitcasting.tv/api/livestatus?user=' + id_twitcasting + '&type=json', function(json) {})
.success(function(json) {
	if (json.islive > 0) {
			$('#twitcasting_islive').text('配信中です');
			$('#twitcasting_protected').text('protected:' + json.protected);
			$('#twitcasting_movieid').text('movieid:' + json.movieid);
			$('#twitcasting_comments').text('comments:' + json.comments);
			$('#twitcasting_viewers').text('viewers:' + json.viewers);
			$('#twitcasting_total').text('total:' + json.total);
			$('#twitcasting_duration').text('duration:' + json.duration);
			$('#twitcasting_subtitle').text('subtitle:' + json.subtitle);
			$('#twitcasting_typing').text('subtitle:' + json.typing);
			$('#twitcasting_hashtag').text('hashtag:' + json.hashtag);
			$('#twitcasting_title').text('title:' + json.title);
	} else {
			$('#twitcasting_islive').text('配信されていません');
			$('#twitcasting_protected').text('protected:' + json.protected);
			$('#twitcasting_movieid').text('movieid:' + json.movieid);
			$('#twitcasting_comments').text('comments:' + json.comments);
			$('#twitcasting_viewers').text('viewers:' + json.viewers);
			$('#twitcasting_total').text('total:' + json.total);
			$('#twitcasting_duration').text('duration:' + json.duration);
			$('#twitcasting_subtitle').text('subtitle:' + json.subtitle);
			$('#twitcasting_typing').text('subtitle:' + json.typing);
			$('#twitcasting_hashtag').text('hashtag:' + json.hashtag);
			$('#twitcasting_title').text('title:' + json.title);
	}
})
.error(function(jqXHR, textStatus, errorThrown) {
			$('#twitcasting_islive').text('情報の取得失敗');
})


↓結果