oauth2, imap, gmail — получение почты — gmail API не работает и не может найти ссылку на oauth2

  1. I have a requirement (flexible) to use oauth2. (existing architecture/code)
    1. I have a need to do some text manipulation of subscriber's email headers.

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

Я попытался загрузить пример кода для 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 и б) любые (минимальные) примеры кода, на которые я могу взглянуть, были бы великолепны.

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


person agallego    schedule 23.01.2012    source источник
comment
code.google.com/googleapps/domain/email_migration/ Java, Python и .net   -  person Esselans    schedule 24.01.2012
comment
@Ragetzaz: Спасибо за ссылку. Должно быть, я плохо объяснил. Я хочу реализовать клиент imap с oauth2. Возможно, ссылка на мой пост даже не корректна. По ссылке, которую вы разместили, я кратко рассмотрел все классы электронной почты [link]code.google.com /apis/gdata/javadoc нет класса, указывающего, как читать с сервера gmail. Спасибо.   -  person agallego    schedule 24.01.2012
comment
у кого-нибудь есть понимание?   -  person agallego    schedule 26.01.2012
comment
Мне удалось получить рабочий пример на Ruby. Какой язык вы пытаетесь использовать?   -  person Andrew    schedule 25.10.2012


Ответы (1)


Вот рабочий пример Ruby для получения электронной почты от Google с использованием протокола 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 gem и gmail_xoauth gem, поэтому вам понадобятся те, которые установлены для работы этого примера кода. Я также использую драгоценные камни omniauth и omniauth-google-oauth2 для обработки регистрации пользователя и использования токена доступа.

person Andrew    schedule 11.10.2012