ソーシャルストリームメッセージは、単純なHTTP GETリクエストで取得することができます。 OAuth2認証は必要ないので、"Authorization"ヘッダは送らないようにしてください。
初回のソーシャルストリームリクエストでは、以下のようなHTTP GET リクエストを実行するようにしてください。:
http://socialstream.ustream.tv/socialstream/get.json/CHANNEL_ID/default
CHANNEL_ID の値にはチャンネル一覧でサーバから取得できる"id"と同じ値を設定します。
戻り値はJSON形式の文字列になります。:
{ "success":true, "refreshInterval":10, "range":[0,1302176480], "payload":[ { "uid":1 "type":"msg", "text":"MESSAGE_TEXT", "createdAt":"UTC_TIMESTAMP", "isOwner":0, "profilePictureUrl":"http://static.ustream.tv/na.jpg", "profileNetwork":"twitter", "profileUserName":"Gyula", "network":[ { "provider":"twitter", "displayName":"Gyula" } ] } ] }
ソーシャルストリームメッセージは、"payload"配列の中に辞書型の形で入っています。メッセージの各要素以下の通り:
名前 | 説明 |
---|---|
uid | メッセージの識別子 |
type | ソーシャルストリームメッセージの場合は"msg" となります。他のメッセージタイプについてはセクション 5.1.3.を参照してください。 |
createdAt | このメッセージのタイムスタンプ(UTC形式) |
isOwner | このチャンネルの所有者のメッセージであれば1が入ります。そうでなければ0が入ります。 |
profilePictureUrl | メッセージ送信者のプロフィール写真 |
profileNetwork | このメッセージがどのSNSで書き込まれたものなのかを表します。 "twitter", "facebook", "ustream"といった設定値をサポートしています。 |
profileUserName | 送信者が、メッセージを発信したSNS上で使っているユーザー名 |
network | このユーザーが所属しているSNSの一覧を配列型の値で表します。network内の"provider"要素には、SNSの種類が保持されています。("twitter", "facebook", "ustream"といった設定値をサポートしています), "displayName"要素には、メッセージ送信者のSNS上の名前が保持されています。 |
ソーシャルストーリームリクエストを初期化するのは、セッション開始時のみに限定したほうが良いです(ソーシャルストーリームリクエストの初期化については前項を参照)。 初回のリクエストをした後は、時間を置いて定期的に、ソーシャルストリームへの新規問い合わせをする必要があります。:
http://socialstream.ustream.tv/socialstream/get.json /CHANNEL_ID/timeslice/RANGE/REFRESH_INTERVAL
"RANGE"パラメータには直前のリクエストで取得した"range"配列の、二番目の値を設定します(例 "range":[0,1302176480])。 "REFRESH_INTERVAL" パラメータには直前のリクエストで取得した "refreshInterval" の値を設定します。(例 "refreshInterval":10)
このクエリの応答はチャプター5.1.1で説明したものと同じ形式になります。 クライアントは、加えて以下のことに気をつける必要があります。:
"payload" セクションは、追加で以下のようなメッセージも保持することも可能です:
ソーシャルストリームのホストを変更する:
このメッセージを受信した場合、次のクエリからは新しいサーバに対して実行する必要があります:
{ "type": "host", "host": "http://socialstream2.ustream.tv" }
メッセージを無視する:
このメッセージを受信した場合、クライアントでは指定されたメッセージをチャットウィンドウから削除する必要があります。:
{ "type": "ignMsg", "uid": "123456" }
ユーザーを無視する:
このメッセージを受信した場合、クライアントはチャットウィンドウから指定されたユーザーの全てのメッセージを削除し、 以降は同様に全てのメッセージを無視する必要があります。:
{ "type": "ignUser", "network": [{"provider":"twitter", "displayName":"Gyula"}] }
ユーザーを無視しない:
このメッセージを受信した場合、クライアントでは指定されたユーザの以降のメッセージをチャットウィンドウに表示させるようにする必要があります:
{ "type": "unIgnUser", "network": [{"provider":"twitter", "displayName":"Gyula"}] }
サードパーティでは、現在ソーシャルストリームへメッセージを送ることができません。