oauth2, imap, gmail - получение почты - gmail api не работает и не может найти ссылку на oauth2 - PullRequest
2 голосов
/ 24 января 2012
  1. У меня есть требование (гибкое) для использования oauth2. (существующая архитектура / код)
    1. Мне нужно выполнить некоторые манипуляции с текстом заголовков электронной почты подписчика.

Решения, которые я пробовал.

Я попытался загрузить пример кода для java, и он правильно подключается к серверам imap gmail. Однако он отвечает oath_version = 1 и ожидает пароль. Я попытался помассировать код, чтобы изменить параметры, так как другие API, как и их контакты api oauth2, безуспешно.

Вопрос: (Многочастный)

  1. Api не работает: http://code.google.com/googleapps/domain/email_migration/developers_guide_java.html любая ссылка в Интернете была бы идеальной (она была недоступна в течение по крайней мере половины недели с прошлой недели ср.). Если вы задались вопросом - да, я сделал сообщение на их форумах, прежде чем просить здесь обновленную ссылку.

  2. Есть ли способ: а) сделать запрос oauth2 и б) любой (минимальный) пример кода, на который я могу посмотреть, был бы великолепен.

Заранее спасибо за чтение этого поста.

1 Ответ

0 голосов
/ 12 октября 2012

Вот рабочий пример Ruby для получения электронной почты из Google с использованием протокола OAuth2:

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 для регистрации пользователя и использования токена доступа.

...