- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我使用的是 Hipchat API (v2) 今天遇到了一个奇怪的问题,我无法真正提取一个房间的所有历史记录。例如,当我查询特定日期时,它似乎只会检索给定日期的一小部分历史记录。我曾计划简单地遍历一个房间的所有日期,以我可以使用的格式提取历史记录,但最终遇到了这个问题,现在我不确定是否真的有可能完全提取历史记录。
我意识到这有点笨拙。它把 JSON 作为一个字符串,然后我必须将它形成一个散列,所以我知道我没有做到最好,但我快速做的大致是测试 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')
),但同样,我只获得了房间历史记录的一小部分。是否缺少一些其他参数以使其按预期工作?
最佳答案
我得到了这个工作,但这是一个很大的痛苦。
首先发送一个包含当前时间的查询,以 UTC 格式作为开始日期,但不包括时区:
这是非常繁琐的:
400 Bad Request This yas not yet come to pass
。当您收到响应时,获取最旧的 items.date
属性,去除时区,并使用更新的 date
参数重新提交上述 URL:
一定要包括微秒,以防通知在同一秒内向同一个房间发布多条消息。
这将为您带来下一页消息。继续这样做,直到收到的消息少于 max-results
条。
有一个 start-index
参数,我在上面的工作之前尝试传递,它会给你几页结果,响应缺少 links.next
属性,但它不会为您提供完整的历史记录。根据 statistics.messages_sent
,在历史记录为 9166 条消息的聊天室中,它仅返回 3217 条消息。所以不要使用它。您可以使用 statistics.messages_sent
作为是否收到所有消息的完整性检查。
哦,是的,/v2/room
调用中的 last_active
属性不可信任,因为它不会在通知消息发布到房间时更新。
关于ruby - 如何通过 API 从 Hipchat 获取房间的所有消息历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25226181/
我的任务只是编写一个小书签,以简化我团队中 HipChat 中的消息编辑。我写了以下内容: var id = document.querySelector('.hc-dropdown-trigger.
Atlassian 产品 HipChat 有一个内置网站的内联预览。但是,Gyazo 等 ScreenShot 共享网站能够更改提供给 HipChat 的图像。 例如,URL 是这样的:gyazo.c
我对正则表达式完全没用,需要这方面的帮助。我目前正在为我的工作创建一个 HipChat 机器人,它将从 HipChat 创建 JIRA 票证。HipChat 机器人能够监视聊天室中的关键字。如果使用了
我正在尝试添加 HipChat plugin到我的 Jenkins 构建,但它没有发布任何内容。 在全局配置中,我将 HipChat 服务器设置为 api.hipchat.com,添加了 API to
我有一些 python 工具,我想将更新发送到 hipchat 房间。我在其他地方使用 shell 脚本执行此操作,所以我知道它在我们的环境中有效,但我似乎无法将 token 推送到 hipchat
我有这个代码来获得 Twitter 用户的关注者: followers=[] for user in tweepy.Cursor(api.followers,id=uNameInput).items(
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
在 HipChat API 的 v1 中,您可以创建一个 token (我们称之为“通知程序”),它能够通知服务器上的任何房间。使用此 token 发送的任何消息都将显示在 HipChat 中的“通知
您好,我正在尝试在 Ubuntu 机器上安装 Hubot,但无法运行。 我正在使用 2.1.3 版的 Hubot 并遵循此文档进行 hipchat https://github.com/hipchat
我需要通过 HipChat Integration 中传递的命令触发在云端 (AZURE) 中的 jenkins 构建。 最佳答案 您正在寻找的东西通常称为 ChatOps。有几个工具可以让你做这样的
如何告诉 Hubot 使用 HipChat 适配器发送直接消息?我尝试了很多不同的选择,但都没有成功。 module.exports = function (robot) { robot.resp
我们正在尝试使用 Hipsaint 将 nagios (4.1.1) 通知与 Hipchat 集成。我们遵循了发布的说明 here (请记住,说明中提到了 nagios 3)。我们填写了 Token
我正在尝试为 HipChat 创建通知,不幸的是他们的 HipChat-CS ( https://github.com/KyleGobel/Hipchat-CS ) nuget 包不起作用。因此,我想
我使用的是 Hipchat API (v2) 今天遇到了一个奇怪的问题,我无法真正提取一个房间的所有历史记录。例如,当我查询特定日期时,它似乎只会检索给定日期的一小部分历史记录。我曾计划简单地遍历一个
在深入研究 CentOS 终端时,我能够安装和设置 Jira、Confluence 和 Bitbucket 服务器。然而,Hipchat Server 似乎基于完全不同的东西。 是否有安装 Hipch
查看 Hubot documentation似乎无法从 Hubot 脚本向 Hipchat 客户端发送格式化消息。 有谁知道更好地呈现从 Hubot 发送的文本行的方法吗? Version 1 Hip
有没有办法为用户名(数字 xxxx_xxxxxx 或全名)找到 @mention 名称,反之亦然? 查看 msg.message 对象,有一个用户对象,其中包含消息来自的人的 id、jid 和姓名。我
每当我在房间里向 hubot 发出命令时,即 @hubot help 我什么也得不到,但在 1-1 聊天中输入 help 效果很好,我是否遗漏了一些东西?还有其他人遇到过这个问题吗? 我已按照 T 恤
当我尝试发送消息或执行任何操作时出现以下错误。 OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read serv
我是一名优秀的程序员,十分优秀!