Ruby 如何从Gmail atom订阅源计算电子邮件链中的对话数

Ruby 如何从Gmail atom订阅源计算电子邮件链中的对话数,ruby,xml,email,gmail,atom-feed,Ruby,Xml,Email,Gmail,Atom Feed,有没有办法计算Gmail中组成电子邮件链的对话数量? XML提要只返回由多个单独电子邮件组成的电子邮件链的一个条目 因此,例如,如果我有3封电子邮件由相同的电子邮件地址发送,且主题行相同,那么这三封电子邮件都会聚集在一起显示为一封电子邮件,给我一个不正确的计数1 我试过的东西- 1) 已禁用-从电子邮件设置查看对话 2) 使用了ruby gemgmail,它实际上会计算单个电子邮件,但我不能只按日期按时间过滤,这对我来说是绝对必须的(因为我会每一小时检查一次新电子邮件) 有人能建议一种方法吗?似

有没有办法计算Gmail中组成电子邮件链的对话数量? XML提要只返回由多个单独电子邮件组成的电子邮件链的一个条目

因此,例如,如果我有3封电子邮件由相同的电子邮件地址发送,且主题行相同,那么这三封电子邮件都会聚集在一起显示为一封电子邮件,给我一个不正确的计数1

我试过的东西-

1) 已禁用-从电子邮件设置查看对话

2) 使用了ruby gem
gmail
,它实际上会计算单个电子邮件,但我不能只按日期按时间过滤,这对我来说是绝对必须的(因为我会每一小时检查一次新电子邮件)

有人能建议一种方法吗?

似乎只使用日期。如果您将其分叉并进行这些修改,则可能使其工作

在lib/gmail.rb中,将
添加到\u imap\u datetime
方法:

class Object
  def to_imap_date
    Date.parse(to_s).strftime("%d-%B-%Y")
  end

  def to_imap_datetime
    Time.parse(to_s).strftime("%d-%b-%Y %H:%M %z")
  end
end
在lib/gmail/mailbox.rb的
emails
方法中,将调用从
更改为\u imap\u date
更改为
至\u imap\u datetime

现在,您应该能够做到这一点:

gmail.inbox.count(:after => 1.hour.ago)

谢谢你的回复,很遗憾,我无法对gem进行更改(无法访问机器)。但这是一个很好的答案,如果我没有得到任何其他答案,我会把它标记为解决方案。再次感谢。您不一定需要访问这些机器-您可以派生一个新的github项目并添加一个Gemfile条目,让Bundler拉取并使用您的派生回购而不是rubygems回购。不幸的是,如果您没有gem安装权限,这将无法工作。