我尝试过的解决方案。
我尝试下载java的示例代码,它正确连接到gmail的imap服务器。然而,它响应oath_version = 1并期望密码。我试图按摩代码来改变params,因为其他api就像他们的Contacts api oauth2一样没有成功。
问题: (多部分)
Api已关闭:http://code.google.com/googleapps/domain/email_migration/developers_guide_java.html任何在线参考都是理想的(自上周三以来已经至少停了半周) )。如果你想知道 - 是的,我在他们的论坛上发帖,然后在这里询问更新的链接。
有没有办法:a)发出oauth2请求和b)我可以看到的任何(最小的)代码exaples都会很棒。
提前感谢您阅读此帖。
答案 0 :(得分:0)
以下是使用OAuth2协议从Google获取电子邮件的一个有效的Ruby示例:
imap = Net::IMAP.new('imap.gmail.com', 993, usessl = true, certs = nil, verify = false)
imap.authenticate('XOAUTH2', 'example@gmail.com', 'oauth2_access_token_goes_here')
imap.select('INBOX')
imap.search(['ALL']).each do |message_id|
msg = imap.fetch(message_id,'RFC822')[0].attr['RFC822']
mail = Mail.read_from_string msg
puts mail.subject
puts mail.text_part.body.to_s
puts mail.html_part.body.to_s
end
注意:此示例使用ruby mail
gem和gmail_xoauth
gem,因此您需要安装此代码示例才能使用。我还使用omniauth
和omniauth-google-oauth2
宝石来处理用户登录和使用访问令牌。