2012-07-11 52 views
0

我正在为我的应用使用oauth身份验证,并计划使用Oauth2。 有人可以告诉Gmail是否支持通过Oauth2访问令牌获取收件箱。我发现可以通过Oauth1令牌执行此操作,但我发现Oauth1支持现在已被Google弃用。使用oauth2获取gmail

回答

2

不,现在只是OAuth 1.0。

+4

OAuth 2支持现已推出:https://developers.google.com/google-apps/gmail/oauth_overview – 2012-09-13 08:19:34

1

这里是一个工作,用他们的XOAUTH2协议从谷歌获取电子邮件的红宝石例如:

imap = Net::IMAP.new('imap.gmail.com', 993, usessl = true, certs = nil, verify = false) 
imap.authenticate('XOAUTH2', '[email protected]', '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宝石和gmail_xoauth宝石,所以你将需要安装此代码样品上班。

此外,本示例中未显示检索OAuth2访问令牌。 Here's an example using the ruby OmniAuth gem.