• カレンダー

    11 | 2017/12 | 01
    - - - - - 1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    31 - - - - - -

  • プロフィール

    ベア

    Author:ベア
    何かの役に立てればと思います。
    bear_tiara_jp@yahoo.co.jp

  • 検索フォーム


2010/12/24(Fri)

Ustream(ユーストリーム)APIの日本語解説。(素人なので間違い多いかもw)

USTREAM(ユーストリーム)のAPIを使って
自分のWEBサイトにLIVE配信を埋め込んで見ました。

本当は埋め込むだけであれば、配信中のページの下に「埋込み」というタブがあるので、
その中のタグをwebページに埋めこめばよいのですが、動画サイズの変更などをしたかったのでAPIを利用しました。
またこの「埋込み」のタブの中にはチャットを埋めこむためのタグもあります。

USTREAM(ユーストリーム)のAPIはドキュメントが英語しかなく機械翻訳でもなかなか分かり図らく大変でしたが まあなんとかうまく埋め込むことができました。
今回はUSTREAM(ユーストリーム)のAPIを使いたい、初心者で英語の読めない方向けに簡単に説明しようと思います。
私自身も英語ができないのでドキュメントの日本語訳までは出来ないのですが、元のドキュメントに参考例もあり分かり易かったので簡単に解説してみようと思います。
(英語出来る方、間違えてる部分あったら補足してもらえるとうれしいですw)

まずサイトURLはこちら
http://developer.ustream.tv/data_api/docs

APIを利用するにはデベロップ用にIDが必要です。
登録して取得してください。

リクエストを投げる先のURLは
http://api.ustream.tv/

レスポンスを
xml
php
json
html
から選択できます。

私の場合、htmlとphpしか利用しないのでその二つの説明を中心とします。
他のjsonとxmlは使わないので分かりませんwスイマセンw

利用する上でもっとも簡単なのはhtmlでしょう。
URLにクエリくっけてアクセスすればhtmlで出力されます。
当然GETメソッドしか使えませんが、
ほとんど普通のページを見てるような感覚で利用できます。

htmlで利用する場合は
http://api.ustream.tv/html/サブジェクト/ID/コマンド/その他パラメータ/返答結果のページ数&返答結果の最大数&デペロップキー
という形でブラウザにURLを入れてアクセスします。
原文---------------------------------------------------------------------------------------------------------------- ---------------------------
following GET is a generalized version of our API format:
GET via URL method:

http://api.ustream.tv/[html|json|xml|php]/[subject]/[subjectUID|scope]/[command]/[otherparams]/?page=[n]&limit=[l]&key=[devkey]
-------------------------------------------------------------------------------------------------------------------- --------------------------

ではそれぞれの説明です。

[html|json|xml|php]
最初に説明した、何で利用するかです。
htmlなら通常のページのように見れるし、phpなら変数に格納され、xmlならxml形式のドキュメントになります。

[subject]/サブジェクト
取得したいデータの対象です。
選べるのはchannel | user | video | stream| system
user/ユーザー
ユーザーについての情報。
channel/チャンネル
チャンネルについての情報。配信動画を埋め込む場合はこちら。
video/ビデオ
録画された動画についてだと思います。
stream/ストリーム
Ustreamで配信されているLive映像について。
system/システム
サイトについて。

[subjectUID|scope] /ユニークIDもしくはスコープ
対象のユーザーを識別するID
番組のurl、ユーザーID、ビデオIDなど。
userの場合: ログイン時のIDもしくは数字でのID
channelの場合: チャンネルのURLか数字のID
videoの場合: 数字のID
searchの場合: スコープかソート方法

[command]/コマンド
サブジェクトに対してどんな情報を取得するか。
コレはサブジェクトごとに微妙に違いがありますので下に並べました。


User Subject/ユーザーサブジェクトに対してのコマンド
getInfo
ユーザー情報
取得できるユーザー情報は
(id,userName,registeredAt,url,gender,website,about,imageUrl,rating,numberOf)
例:http://api.ustream.tv/html/user/ユーザーネーム/getInfo?key=取得したAPIキー
getValueOf
特定のユーザー情報
上記のユーザー情報から特定のものだけ取得する場合などに使用します。
例:http://api.ustream.tv/html/user/ユーザーネーム/getValueOf/id?key=取得したAPIキー
getId
getValueOfでユーザー情報のidを指定して取得するのと同じ。
例:http://api.ustream.tv/html/user/ユーザーネーム/getValueOf/getId?key=取得したAPIキー
listAllChannels
このユーザーのほかのチャンネルすべて
例:http://api.ustream.tv/html/user/ユーザーネーム/listAllChannels?key=取得したAPIキー
listAllVideos
このユーザーのほかのビデオすべて
例:http://api.ustream.tv/html/user/ユーザーネーム/listAllVideos?key=取得したAPIキー
getComments
このユーザーについて投稿されたコメント
例:http://api.ustream.tv/html/user/ユーザーネーム/getComments?key=取得したAPIキー
search
このユーザーに対しての検索コマンド
検索については後述。
例:http://api.ustream.tv/html/user/ソート方法/search/検索対象:検索範囲:検索データ?key=取得したAPIキー
原文:http://api.ustream.tv/html/user/recent/search/username:like:bob?key=yourDevKey
※原文の例はbobという文字列を持つユーザー名を最近の配信順に検索する場合の時みたいです。

channel Subject/チャンネルサブジェクトに対してのコマンド
getInfo
チャンネル情報
取得できるチャンネル情報は
(id,user,title,description,urlTitleName,url,status,createdAt,lastStreamedAt,imageUrl,rating,embedTag,hasTags,numberOf ,tags,socialStream,chat)
例:http://api.ustream.tv/html/channel/チャンネルURL/getInfo?key=取得したAPIキー
getValueOf
特定のチャンネル情報
上記のチャンネル情報から特定のものだけ取得する場合などに使用します。
例:http://api.ustream.tv/html/channel/チャンネルURL/getValueOf/id?key=取得したAPIキー
getId
getValueOfでチャンネル情報のidを指定して取得するのと同じはずですが、現在、「チャンネルサブジェクトにgetidコマ ンドはありません」となります。
例:http://api.ustream.tv/html/channel/チャンネルURL/getid?key=取得したAPIキー
getEmbedTag
Live映像を埋め込むためのhtmlタグです。コレのタグを貼るとwebサイトに表示できます。objectタグを使っているので、 htmlに規制のあるブログなどでは使えないかもしれません。
例:http://api.ustream.tv/html/channel/チャンネルURL/getEmbedTag?key=取得したAPIキー
getCusomEmbedTag
Live映像の設定を変更して埋め込む場合はこちらです。変更できるのはオートプレイの有無、ミュートの有無、高さ、幅 の変更です。有=true、無=false
例:http://api.ustream.tv/html/channel/チャンネルURL/getCustomEmbedTag?key=取得したAPIキー¶ms=オートプレイ の有無:false;ミュートの有無:false;高さ:数字ピクセル;幅:数字ピクセル
原文:http://api.ustream.tv/html/channel/api-test-show/getCustomEmbedTag? key=yourDevKey¶ms=autoplay:false;mute:false;height:100;width:100
listAllChannels
このチャンネルのユーザーのほかのチャンネルすべて
http://api.ustream.tv/html/channel/チャンネルURL/listAllChannels?key=取得したAPIキー
getComments
このチャンネルに対してのコメントだと思うのですが、チャンネルへのコメントがなんなのか分からない。
http://api.ustream.tv/html/channel/チャンネルURL/getComments?key=取得したAPIキー getTags
このチャンネルに付けられてる番組タグです。
http://api.ustream.tv/html/channel/チャンネルURL/getTags?key=取得したAPIキー
search
このチャンネルに対しての検索コマンド
検索については後述。
例:http://api.ustream.tv/html/channel/recent/search/検索対象:検索範囲:検索データ?key=取得したAPIキー
原文:http://api.ustream.tv/html/channel/recent/search/title:like:bob?key=yourDevKey
※原文の例はbobという文字列を持つチャンネルタイトルを最近の配信順に検索する場合の時みたいです。

video Subject/ビデオサブジェクトに対してのコマンド
getInfo
ビデオ情報
取得できるビデオ情報は
(id,user,title,description,createdAt,url,lengthInSecond,imageUrl,rating,embedTag,hasTags,numberOf,tags,liveHttpUrl,so urceChannel)
動画がプライベートに設定されていると「APIでの、パスワードで保護された動画の利用はまだサポートしていません」と なります。
例:http://api.ustream.tv/html/video/動画番号/getInfo?key=取得したAPIキー
getValueOf
特定のビデオ情報
上記のビデオ情報から特定のものだけ取得する場合などに使用します。
例:http://api.ustream.tv/html/video/動画番号/getValueOf/id?key=取得したAPIキー
getId
getValueOfでビデオ情報のidを指定して取得するのと同じはずですが、現在、「ビデオサブジェクトにgetidコマンドはあ りません」となります。
例:http://api.ustream.tv/html/video/動画番号/getId?key=取得したAPIキー
getEmbedTag
ビデオを埋め込むためのhtmlタグです。コレをはるとwebサイトに表示できます。objectタグを使っているので、htmlに規 制のあるブログなどでは使えないかもしれません。
例:http://api.ustream.tv/html/video/動画番号/getEmbedTag?key=取得したAPIキー
listAllVideos
このビデオのユーザーのほかのビデオ
例:http://api.ustream.tv/html/video/動画番号/listAllVideos?key=取得したAPIキー
getComments
このビデオについて投稿されたコメント
例:http://api.ustream.tv/html/video/動画番号/getComments?key=取得したAPIキー
getTags
このビデオに設定されているタグ
例:http://api.ustream.tv/html/video/動画番号/getTags?key=取得したAPIキー
search
このビデオに対しての検索コマンド
検索については後述。
例:http://ustream.tv/ust_api/stream/recent/search/検索対象:検索範囲:検索データ?key=取得したAPIキー
原文http://ustream.tv/ust_api/stream/recent/search/title:like:bob?key=yourDevKey
※原文の例はbobという文字列を持つビデオタイトルを最近の配信順に検索する場合の時みたいです。

stream Subject/ストリームサブジェクトに対してのコマンド
getRecent
最新のLive配信中チャンネル
例:http://api.ustream.tv/html/stream/all/getRecent?key=取得したAPIキー
getMostViewers
もっとも視聴者が多いLive配信チャンネル
例:http://api.ustream.tv/html/stream/all/getMostViewers?key=取得したAPIキー
getRandom
Live配信チャンネルをランダムに抽出だと思いますw
例:http://api.ustream.tv/html/stream/all/getRandom?key=取得したAPIキー
getAllNew
最新の新規作成チャンネル
例:http://api.ustream.tv/html/stream/all/getAllNew?key=取得したAPIキー
search
サイト内のストリーミングの検索コマンド
検索については後述。
http://ustream.tv/ust_api/stream/recent/search/title:like:bob?key=取得したAPIキー
例:http://ustream.tv/ust_api/stream/recent/search/title:like:bob?key=取得したAPIキー
※原文の例はbobという文字列を持つストリーミングタイトルを最近の配信順に検索する場合の時みたいです。

system Subject/システムサブジェクトに対してのコマンド
heartBeat
取得できる情報(liveShows,lastStreamStarted,homePageStream)
liveShowsは現在のLive配信されている数だと思いますが、他は分かりません。
例:http://api.ustream.tv/html/system/status/heartBeat?key=取得したAPIキー
ping
pingが通るかどうか。通ると「pong」が帰ります。
例:http://api.ustream.tv/html/system/status/ping?key=取得したAPIキー
[otherparams]/その他のパラメーター
コレを使うのはgetValueOfとsearchの時です。
page=[n]
ページ数についてみたいなのですが、良く分かりません。
limit=[l]
返答結果の数です。デフォルトでは20個最大で100個まで。
key=[devkey]
取得したAPIキーです。

検索について

検索するとき、ソート方法と何を検索するかと範囲を指定することが出来ます。

表示順序を指定。
newest
最近作られた順に表示
recent
最近配信された順に表示
!newest
古く作られた順に表示
!recent
古く配信された順に表示
popular
人気などいくつかの指標を元にランクされた順に表示されるんだと思います。
all
アルファベット順にすべてを表示するだと思います。
live
たぶんlive配信されている物の中からだとおもいますが、、、、分かりません。

検索するときの検索範囲を指定で出来ます。

like
部分一致
eq
完全一致
lt
より小さい数字、曜日ならその前の日付の物
gt
より大きい数字、曜日ならその日付以降の物

何を検索するかはサブジェクトによって出来るものと出来ないものがあります。
以下の表を参考してください。
Porperty Name Data Type Stream User Channel Video
userName 文字列  
title 文字列  
description 文字列      
startTime タイムスタンプ      
rating 小数点
views 整数    
created 日付    
registerdate 日付      
length 整数      
default sort by property: channelId userId channelId videoId

その他
小数点以下4桁まで。
動画の長さは秒単位。
返答結果の数はデフォルトで20個です。
日付に関する検索結果でストリームサブジェクトでrecentの結果が日本時間になって無い気がします、
17時間ほど遅れた時間が表示されていますが、最新配信チャンネルを検索結果として返すので問題はないようですが、、
使うときは17時間遅れにしたほうがよさそうです。
Home | Category : pc |  コメントアイコン Comment0  |  Trackback1

トラックバック ▼


  • ユーストリームのAPIで配信中をチェックする

    ユーストリームが面白い。 android端末やios端末でアプリをインストールして、 アプリ起動後にアプリ内で会員登録したら、すぐに映像配信を行うことができる。 すごい簡単!パソコンが苦手な人でもすぐできそう!これはクルゥー! 登録すると自分のマイページができて、自分の番組(チャンネル)を複数作ることができる。 作ってみた。 http://www.ustream.tv/channel/araishi チャンネルのページを開いていると、 放送者が配信を開始したとき、そのチャンネルのページを開いてると、.. ...

コメント ▼

    

画像の文字を半角数字で下記ボックスに記入ください。
文字が読みにくい場合はブラウザの更新をすると新しい文字列が表示されます。

Home Home | Top Top