通过Gmail IMAP扩展程序访问线程ID(xoauth2)

时间:2014-05-16 02:44:47

标签: ruby api gmail imap google-oauth

我正试图在我的Rails应用中从Gmail获取消息ID或线程ID。我在ruby中使用gmail_xoauth gem(https://github.com/nfo/gmail_xoauth)和标准net / imap。这是我所拥有的片段:

require 'gmail_xoauth'
imap = Net::IMAP.new('imap.gmail.com', 993, usessl = true, certs = nil, verify = false)
imap.authenticate('XOAUTH2', user.email, user.token)
imap.examine('[Gmail]/All Mail')

imap.search(["SINCE", "15-May-2014"]).each do |message_id|
    puts imap.fetch(message_id, "(X-GM-THRID)")
end

Ruby的Net :: IMAP抛出异常(“未知属性”),所以通过几次Google搜索,我来到这里:http://blog.wojt.eu/post/13496746332/retrieving-gmail-thread-ids-with-ruby

我添加了他提到的小补丁,但是现在使用了imap.fetch(message_id,“(X-GM-THRID)”),我得到了另一个错误:

ArgumentError: wrong number of arguments (0 for 1)

我觉得我已经接近了,但无法绕过错误。任何帮助表示赞赏。

由于

1 个答案:

答案 0 :(得分:0)

我确实设法通过IMAP使用这个猴子补丁来解决它 - https://gist.github.com/kellyredding/2712611

虽然值得探索Gmail API,但现在更容易 - https://developers.google.com/gmail/