2012-01-23 49 views
2
  1. 我有一個要求(靈活)來使用oauth2。 (現有架構/代碼)
    1. 我需要對訂戶的電子郵件標題進行一些文本處理。

我試過的解決方案。oauth2,imap,gmail - 取回郵件 - gmail api關閉,無法找到oauth2的引用

我試着下載java的示例代碼,它正確連接到gmail的imap服務器。然而,它迴應oath_version = 1並期待密碼。我試圖按照代碼來改變params的其他api,就像他們的聯繫人api oauth2沒有成功。

問題: (多)

  1. API是下降:HTTP://code.google.com/googleapps/domain/email_migration/developers_guide_java.html任何參考網上將是理想的(它已自上週三以來至少下半周)。如果你想知道 - 是的,我之前在他們的論壇發帖,然後詢問更新的鏈接。

  2. 是否有辦法:a)使oauth2請求和b)任何(最小)代碼實例我可以看看會很好。

在此先感謝您閱讀本文。

+0

http://code.google.com/googleapps/domain/email_migration/developers_guide_protocol.html#Auth java,python&.net – Jaxedin

+0

@Ragetzaz:感謝您的鏈接。我一定沒有好好解釋自己。我想用oauth2實現一個imap客戶端。也許我的帖子上的鏈接甚至不正確。您發佈的鏈接,我簡要地查看了所有電子郵件類別[鏈接] http://code.google.com/apis/gdata/javadoc/沒有指定如何從Gmail服務器「讀取」的類。謝謝。 – agallego

+0

有沒有人有洞察力? – agallego

回答

0

這裏是一個工作,使用的OAuth2協議從谷歌獲取電子郵件的紅寶石例如:

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 gemgmail_xoauth gem,所以你需要安裝此代碼示例工作的。我也使用omniauthomniauth-google-oauth2寶石來處理登錄用戶和使用訪問令牌。