私は,受信したGmailを一覧を表示するクライアントを作成しようとしています.
omniauthを用いてGoogleアカウントをoauth認証し,レスポンスをDBに保存するところまでできています.
lang
1## gemfile 2# Use google oauth 3gem 'omniauth' 4gem 'omniauth-google-oauth2' 5gem 'gmail_xoauth' 6 7## controller 8if session[:user_id] # 現在接続しているuserのid 9 @user = User.find(session[:user_id]) 10 imap = Net::IMAP.new('imap.gmail.com', 993, usessl = true, certs = nil, verify = false) 11 imap.authenticate('XOAUTH2', @user.email, @user.token) # 恐らくここの@user.tokenが不正である 12 @data = imap.select('INBOX') 13end 14
エラーメッセージ:
Net::IMAP::NoResponseError in HomeController#index
Invalid credentials (Failure)
imap.authenticate('XOAUTH2', @user.email, @user.token)
https://github.com/zquestz/omniauth-google-oauth2
https://github.com/nfo/gmail_xoauth
http://stackoverflow.com/questions/8980108/oauth2-imap-gmail-fetching-mails-gmail-api-is-down-and-cant-find-referenc
いくつかのサイトを参考にしましたが,Gmailにimap+oauth接続するためのtokenを得ることができません.
公式ドキュメントでは,
You can generate and validate your OAuth 2.0 tokens thanks to the oauth2.py tool.
と記述されてありました.rubyでtokenを取り出すことはできないのでしょうか?
また,他におすすめのgemがあれば教えてください.
至らない点があればすぐ補足・修正しますので,よろしくお願いします.
あなたの回答
tips
プレビュー