今日、 Hipchat API (v2) を少し使用していたところ、ルームのすべての履歴を実際に取得できないという奇妙な問題に遭遇しました。たとえば、特定の日付を照会すると、指定された日付の履歴の一部しか取得できないように見えました。ルームのすべての日付を単純に繰り返して、使用できる形式で履歴を抽出する計画を立てていましたが、最終的にはこれにヒットし、履歴を完全に引き出すことが本当に可能かどうかはわかりません.
これは少し不格好だと思います。JSON を文字列としてプルし、それをハッシュに形成する必要があるため、これを実行できるほどうまく行っていないことはわかっていますが、history
メソッドをテストするためにすぐに行ったことは大まかに次のとおりです。 API:
api_token = "MY_TOKEN"
client = HipChat::Client.new(api_token, :api_version => 'v2')
history = client['ROOM_NAME'].history
history = JSON.parse(history)
history.each do |key, history|
if history.is_a? Array
history.each do |message|
if message.is_a? Hash
puts "#{message['from']['name']}: #{message['message']}"
end
end
end
end
明らかに、その拡張は、目的の範囲の日付を呪うことでした (: を使用client['ROOM_NAME'].history(:date => '2010-11-19', :timezone => 'PST')
) が、ここでも、部屋の履歴の一部しか得られませんでした。これを期待どおりに機能させるために不足している追加のパラメーターはありますか?