我正在为我的应用程序进行 oauth 身份验证,并计划使用 Oauth2。有人可以判断 Gmail 是否支持通过 Oauth2 访问令牌获取收件箱。我看到可以通过 Oauth1 令牌执行此操作,但我发现 Google 现在已弃用 Oauth1 支持。
问问题
1177 次
2 回答
2
不,现在只有 OAuth 1.0。
于 2012-07-12T04:13:16.440 回答
1
这是一个使用其 XOAUTH2 协议从 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
注意:此示例使用rubymail
gem 和gmail_xoauth
gem,因此您需要安装它们才能使此代码示例正常工作。
此外,此示例中未显示检索 OAuth2 访问令牌。这是一个使用 ruby OmniAuth gem 的示例。
于 2012-10-11T23:18:23.570 回答