現在の位置
FrontPage > MierukaApiGettingStarted
SOBA Web APIの基礎
APIの呼び出し方 †
- パラメータの渡し方はGETメソッドのクエリパラメータとして渡すか、POSTメソッドのデータとして渡すかのいずれか。どちらでもよい。
- login以外のAPIのコール時にはHTTPヘッダ部にAuthorizationヘッダが必要。
SOBA mieruka APIを構成する概念 †
セッション †
セッションとは仮想的な場であり、SOBAアプリケーションから作成する。セッションの参加者がすべてセッションから脱退するとセッションは消滅する。
ルーム †
ルームとはセッションのテンプレートである。ルーム情報からセッションを作成できる。 セッションと異なりルームはセッションが終了しても存在し続けるので、ルームを利用すれば同じ名前、同じ説明のセッションを何度でも作成できる。 ルームに参加する場合、そのルーム情報にもとづいて作られたセッションが存在すればそのセッションに参加することになり、セッションが存在しなければ新たにセッションが作られる。
ユーザー †
SOBA mierukaにおけるユーザーはIDとニックネームを持ち、認証にはIDを使用するが、アプリケーション上にはニックネームが表示される。 また、ユーザーは1つ以上のグループに所属する。
コマンドファイル †
コマンドファイルはSOBA mierukaのサーバーからSOBAアプリケーションに対する処理の依頼書である。 SOBAアプリケーションはSOBA mierukaのサーバーからダウンロードされたコマンドファイルを読み取って、セッションの作成やセッションへの参加をする。
エラー時のレスポンス †
APIの呼び出し時に必要なパラメータが欠けていたり、パラメータの内容が不正であったりすると、APIはエラーを返す。 エラー時にはルート要素のresult属性が"NG"となり、その子要素にはerror要素が含まれる。
<?xml version="1.0" encoding="utf-8" ?> <join-session-response result="NG"> <error code="6" message="Session does not exist." /> </join-session-response>
認証 †
Authorizationヘッダ †
認証を必要とするAPIにはHTTPヘッダ部にAuthorizationヘッダを含める。 Authorizationヘッダの書式は以下の通り。
Authorization: SobaAuth token="認証トークン" timestamp="タイムスタンプ" nonce="Nonce" sig="署名" sigalg="署名アルゴリズム名"
- token: ログイン時に発行される認証トークン
- timestamp: 現在の時刻を1970年1月1日0時0分からの経過秒数で表したもの。
- nonce: 64文字以下のランダムな文字列。毎回異なる文字列とすること。
- sig: dataから作成した署名
- sigalg: 書名の作成に使うアルゴリズム名
署名アルゴリズム †
SOBA-1 †
アカウント登録時に発行したキーとtimestamp, nonceを連結してできる文字列のMD5。 例えば
キー = "abcdefghijklmnopqrstuvwxyz" timiestamp = "100000000" nonce = "hogefugafoobarbuz"
のとき
sig = MD5("abcdefghijklmnopqrstuvwxyz100000000hogefugafoobarbuz")