Stand by...

ustream API を使ってみる

経緯

  1. 無銘喫茶と無銘食堂ではustream.tvで生中継を行えるようになっているのだけれど、、放送されているのかどうかがわかりにくい。
  2. サイトのサイドバー埋め込めるFlash Widgetもあるが派手で好きじゃない。
  3. 『放送中』とか『休止中』とか、放送状態を文字で表示してくれるだけでよい。
  4. 見当たらんから作るか。
  5. APIが公開されてるから使ってみる。

手順

  1. デベロッパ登録
  2. メールアドレス認証
  3. API key を取得
  4. ドキュメントを読む
  5. てきとーに書く

成果

<?php
// ustream API の練習
// http://flyer.to/

// API key ( http://developer.ustream.tv/member/register )
$apiKey = ‘YOUR_API_KEY’;

// API Field ( http://developer.ustream.tv/docs )
$apiFields = array();
$apiFields[‘format’] = ‘xml’; // xml | json | html | php
$apiFields[‘subject’] = ‘channel’; // channel | user | video | stream | system
$apiFields[‘uid’] = ‘mumei-kissa’;
$apiFields[‘command’] = ‘getinfo’;

// API URL
$apiUrl =  ‘http://api.ustream.tv/’;

 // URLを作る
$url = ( $apiUrl . implode( ‘/’, $apiFields) . ‘?key=’ . $apiKey);

// 叩いて結果を得る
$result = file_get_contents($url); 

// xmlをオブジェクトに代入 (明日のために)
$xml = simplexml_load_string($result);

// デバグ表示
echo “<b>{$url}</b>”;
echo ‘<pre>’ . htmlspecialchars( $result, true ) . ‘</pre>’;

?>

結果

http://api.ustream.tv/xml/channel/mumei-kissa/getinfo?key=YOUR_API_KEY

<?xml version="1.0" encoding="UTF-8"?>
<xml>
<results>
	<id>444180</id>
	<user>
		<id>795976</id>
		<userName><![CDATA[mumei]]></userName>
		<url><![CDATA[http://www.ustream.tv/mumei]]></url>
	</user>
	<title><![CDATA[mumei-kissa]]></title>
	<description><![CDATA[live Mumei Kissa]]></description>
	<urlTitleName><![CDATA[mumei-kissa]]></urlTitleName>
	<url><![CDATA[http://www.ustream.tv/channel/mumei-kissa]]></url>
	<status><![CDATA[offline]]></status>
	<createdAt><![CDATA[2009-01-19 02:45:13]]></createdAt>
	<lastStreamedAt><![CDATA[2009-05-15 15:28:22]]></lastStreamedAt>
	<imageUrl>
		<small><![CDATA[http://static.ustream.tv/images/schannel_picture/4/4/4/1/444180/th/smalls2_120_444180_mumei-kissa.jpg]]></small>
		<medium><![CDATA[http://static.ustream.tv/images/schannel_picture/4/4/4/1/444180/th/mediums2_240_444180_mumei-kissa.jpg]]></medium>
	</imageUrl>
	<rating>4.750</rating>
	<embedTag><![CDATA[<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="320" height="260" id="utv131075"><param name="flashvars" value="autoplay=false&amp;brand=embed"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="movie" value="http://www.ustream.tv/flash/live/1/444180"/><embed flashvars="autoplay=false&amp;brand=embed" width="320" height="260" allowfullscreen="true" allowscriptaccess="always" id="utv131075" name="utv_n_128371" src="http://www.ustream.tv/flash/live/1/444180" type="application/x-shockwave-flash" /></object>]]></embedTag>
	<embedTagSourceUrl><![CDATA[http://www.ustream.tv/flash/live/1/444180]]></embedTagSourceUrl>
	<hasTags>TRUE</hasTags>
	<numberOf>
		<comments>0</comments>
		<ratings>5</ratings>
		<favorites>0</favorites>
		<views>240</views>
		<tags>3</tags>
	</numberOf>
	<tags>
		<array key="0"><![CDATA[bar]]></array>
		<array key="1"><![CDATA[japan]]></array>
		<array key="2"><![CDATA[shinjuku]]></array>
	</tags>
</results>
<msg><![CDATA[]]></msg>
<error><![CDATA[]]></error>
<processTime>0.0108788013458</processTime>
<version><![CDATA[mashery-r10]]></version>
</xml>

 

今後

  1. WordPressのサイドバーウィジェットとして動く地味な『放送中バッヂ』を作る。
  2. API Key無しでも動いちゃってないか?

Related posts

Related posts