Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 通过Gmail IMAP扩展访问线程ID(xoauth2)_Ruby_Api_Gmail_Imap_Google Oauth - Fatal编程技术网

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

Ruby 通过Gmail IMAP扩展访问线程ID(xoauth2),ruby,api,gmail,imap,google-oauth,Ruby,Api,Gmail,Imap,Google Oauth,我正试图在Rails应用程序中从Gmail获取消息id或线程id。我正在使用gmail_xOAuthgem和ruby中的标准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

我正试图在Rails应用程序中从Gmail获取消息id或线程id。我正在使用gmail_xOAuthgem和ruby中的标准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抛出和异常“unknown attribute”,因此通过几次Google搜索,我在这里登陆:

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

ArgumentError: wrong number of arguments (0 for 1)
我觉得我离得越来越近了,但我无法理解到底出了什么问题。感谢您的帮助


谢谢

我用这个猴子补丁通过IMAP解决了这个问题-


尽管值得探索Gmail API,因为它现在容易多了-

你解决过这个问题吗?嗨,Stefano,请看下面的答案。