我今天稍微使用了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')
,但同样,我只得到了房间历史的一小部分。我是否缺少一些其他参数以使其按预期工作?