room.enter

room.enter

オリジナル: http://wiki.lingr.com/dev/show/RoomEnter

翻訳日: 2007/02/25

原文リビジョン: 20


チャットルームに入室する

HTTPメソッド

POST

パラメータ

session(必須)

session.createで得たセッションID

id(必須)

入室するルームID

password(オプション)

ルームにパスワードが設定されている場合、パスワード

nickname(オプション)

メンバーリストに表示されるニックネーム。指定しない場合、anonymous observerとして扱われます。

idempotent(オプション)

trueが指定され、かつ同一APIセッション内で既にこのルームへ入室したことがあれば既存の参加者/チケット情報が返り、ルームへは新たな参加者として追加されません。そうでない場合は新規のチケットが生成され、新たな参加者として追加されます。指定しない場合のデフォルト値はfalseです。

format(オプション)

応答のフォーマットxmljsonが指定できます。指定しない場合、デフォルトxmlとなります。

callback(オプション)

応答をjsonで得る場合、コールバック関数の名前を指定します。

認証

このメソッドは認証を必要としません。セッション中で認証にパスしていた場合、そのユーザが入室したと見なされます。パスしていなかった場合はanonymous userとして扱われます。

応答の例

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>ok</status>
  <occupant_id>3h418YGlLtB</occupant_id>
  <ticket>a-r-gcnZ3vAcZDA-1HSTpgDjgWu</ticket>
  <max_observe_time>80</max_observe_time>
  <room>
    <id>gcnZ3vAcZDA</id>
    <name>Bay Area Jazz</name>
    <description>Jazz events in and around San Francisco</description>
    <url>http://www.lingr.com/room/gcnZ3vAcZDA</url>
    <icon_url>http://images.lingr.com/room/gcnZ3vAcZDA/16x16.gif</icon_url>
    <counter>234</counter>
    <max_user_message_id>230</max_user_message_id>
    <tags/>
  </room>
  <occupants>
    <occupant>
      <id>cfQ54YtTggh</id>
      <user_id>duWDM2k3Eho</user_id>
      <nickname>TheDude</nickname>
      <description>I blog at http://blog.thedude.test</description>
      <icon_url>http://images.lingr.com/user/duWDM2k3Eho/42x42.gif</icon_url>
      <source>browser</source>
      <client_type>human</client_type>
    </occupant>
    <occupant>
      <id>3h418YGlLtB</id>
      <nickname></nickname>
      <description></description>
      <icon_url></icon_url>
      <source>api</source>
      <client_type>automaton</client_type>
    </occupant>
  </occupants>
</response>

応答の内容について

成功したリクエストの応答は以下の要素を含みます。

occupant_id

あなたのこのルームに対する入室者ID。この値を使って、room.observeもしくはroom.getMessagesメソッドで得られた発言の中からあなた自身の発言をふるい分けることが出来ます。

ticket

room.observeもしくはroom.getMessagesメソッドを呼ぶ際に使われるチケット

max_observe_time

room.observeメソッドで使われる最大待ち時間の値(秒)。room.observeメソッドを実行する際に使用するソケットのタイムアウト時間をこの値以上に設定してください。

room

このルームに関する情報。次のページの構造をしています。→Room

occupants

入室者の情報を格納した配列。それぞれの入室者情報は次のページの構造をしています。→Occupant

エラーコード

100: 不正HTTPメソッド

HTTPメソッドが間違っています。

102: 不正セッション

セッションID不正です。

104: 不正な応答フォーマット

要求された応答フォーマットサポートされていません。

106: ログインしていない

与えられたセッションログインしていないユーザの物です。

108: 不正なルームID

ルームID不正です。

112: 制限以上のレートでのリクエスト

許可されたレート以上でリクエストポーリングが行われた。

116: パスワードが違う

ルームのパスワード不正です。

117: このルームにはパスワードが必要です

パスワードがかかったルームにパスワード無しで入室しようとした。

120: 不正文字コードエンコーディング

あなたが入力したデータUTF-8として不正エンコーディングを含んでいます。

詳細は「APIの基礎について学ぶ」を参照してください。