room.getMessages

room.getMessages

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

翻訳日: 2007/03/07

原文リビジョン: 19


ルーム内の新しいメッセージポーリングします。このメソッドはスレッドが使えない環境でのみ使われるべきです。そうでないなら、room.observeを使うべきです。

room.enterで入室したら、room.exitで退室するまでの間このメソッドかroom.observeを2分に1回以上呼び出さなければいけません。なお、このメソッドは1分に1回以上ポーリングしてはいけません。

HTTPメソッド

GET

パラメータ

session(必須)

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

ticket(必須)

room.enterで得たチケット

counter(必須)

room.enterroom.observe、もしくはこのメソッドで得たcounterの値。負の値を指定した場合、直近のイベントを返します。(例: -5を指定した場合、「直近の5イベント」を指します)

user_messages_only(オプション)

trueを指定した場合、ユーザによるメッセージのみを返します。つまり、システムメッセージは返されません。trueが指定されない場合はユーザメッセージシステムメッセージの両方を返します。デフォルト値はfalseです。

format(オプション)

希望の応答フォーマット。指定する場合はxmljsonを指定します。デフォルトxmlです。

callback(オプション)

応答フォーマットjsonを指定した場合、コールバック関数名を指定します。


認証

このメソッドは認証を必要としません。

応答の例

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>ok</status>
  <counter>235</counter>
  <messages>
    <message>
      <id>235</id>
      <type>user</type>
      <occupant_id>3tUud4Upiev</occupant_id>
      <nickname>safari</nickname>
      <source>browser</source>
      <client_type>human</client_type>
      <icon_url>http://images.lingr.com/user/0/26x26.gif</icon_url>
      <timestamp>2007-01-11T07:17:04-08:00</timestamp>
      <text>hello</text>
    </message>
  </messages>
  <occupants>
    <occupant>
      <id>3tUud4Upiev</id>
      <nickname>safari</nickname>
      <description>I really like Lingr!</description>
      <icon_url>http://images.lingr.com/user/0/26x26.gif</icon_url>
      <source>browser</source>
      <client_type>human</client_type>
    </occupant>
    <occupant>
      <id>47WRTE5MYtc</id>
      <nickname></nickname>
      <description></description>
      <icon_url></icon_url>
      <source>api</source>
      <client_type>automaton</client_type>
    </occupant>
  </occupants>
</response>

応答の詳細

成功したメソッド呼び出しの応答は以下のような要素を持ちます。

counter

イベントカウンタroom.observeroom.getMessagesで使います。

messages

与えられたcounterの値より後にイベントが発生していた場合、それらのメッセージを格納した配列が返ります。それぞれの構造は次のページを参照してください。→Message

occupants

与えられたcounterの値より後に、参加者リストが変化した場合に現在参加者リストを格納した配列が返ります。counterに負の値を指定した場合、この要素は必ず存在します。この要素が存在する場合、それぞれの構造は次のページを参照してください。→Occupant


エラーコード

100: 不正HTTPメソッド

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

102: 無効なセッション

渡されたセッションIDは無効です。

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

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

109: 無効なチケット

与えられたチケットは無効です。

112: 回数制限に達した

ポーリングの頻度が制限以上です。

114: counterパラメータがない

counterパラメータが与えられていない

122: 繰り返されたカウンタ

以前と同じcounterを指定して、room.getMessageの呼び出しが繰り返された。カウンタ値の更新が正常に行われているか確認してください。