Недавно я пытаюсь получить электронную почту из Gmail, используя протокол XOAuth2. В частности, я использую «OAuth2Authenticator.java» от https://code.google.com/p/google-mail-oauth2-tools/downloads/list.Неверные учетные данные с XOAuth2 для Gmail
Но, я всегда получаю недопустимый удостоверении ошибку, как происходит некорректно:
A1 NO [ALERT] Недействительные учетные данные (Failure) Исключение в потоке "основной" javax.mail.AuthenticationFailedException: [ALERT] Неверные учетные данные (Неспособность) на com.sun.mail.imap.IMAPStore.protocolConnect (IMAPStore.java:566) на javax.mail.Service.connect (Service.java:265)
Перед чтением, в связи с ограничением добавив ссылку, я не могу написать «httoo: //», чтобы, пожалуйста, подумайте, что этот заголовок http находится перед некоторой информацией о URL-адресе.
Прежде чем отправлять этот вопрос, я думаю, что я смотрел большую часть статей об этом. Многие статьи об использовании OAuth1.0 (устарело) Но я все еще не могу понять, как я могу заставить его работать с OAuth2 & XOAuth2. Я ценю любое предложение/помощь.
Ниже шаги, которые я беру:
получить маркер доступа через OAuth2 со сферой mail.google.com/
просто поставить этот маркер доступа & аккаунта Gmail (например [email protected]) в «OAuth2Authenticator.java».
После этой процедуры я всегда получаю недопустимые учетные данные.
Интересным является то, что я могу получать непрочитанные письма через URL-адрес фида (то есть https://mail.google.com/mail/feed/atom), который указан на игровой площадке Google OAuth2.0.
Это означает, что я уверен, что получаю правильный токен доступа. Но для IMAP этот код не работает вообще.
Фактически, область «mail.google.com/» не включена в список игровой площадки Google OAuth2.0.
Для получения доступа к токену для XOAuth2 существует ли другой специальный способ получить токен доступа?
Для официальной страницы о XOAuth2 нам необходимо использовать base64 для кодирования токена доступа. Но, я думаю, пример кода выполняет эту процедуру.
Кроме того, SMTP этого образца не работал вообще. Но после изменения свойств я мог бы заставить его работать. Этот код старый? Но, к сожалению, мне нужен IMAP. Но после попытки установить некоторые другие/новые свойства, IMAP вообще не работает.
Я долгое время задерживался на этой проблеме. Итак, я разместил этот вопрос. Я очень ценю любое предложение/помощь.
С уважением
Вы прочитали https://developers.google.com/gmail/xoauth2_protocol? У вас есть трассировка протокола? Что вы используете для своей библиотеки imap? Xoauth2 сильно отличается от того, что есть. – Max
Благодарим за быстрый ответ, Макс. Я читаю это. Но, я думаю, я не совсем понял, как я могу действительно «Протокола обмена IMAP». Итак, я использую предоставленные библиотеки и примеры в указанном вами URL-адресе. На самом деле, я замечаю, что между выходом моего кода и «Обмен протоколом IMAP» существует небольшая разница. В моем выпуске проверяется возможность A0. Затем проверьте возможность A1. Но официальный обмен протоколом IMAP - проверка возможности C0. Затем проверьте возможность A1. Считаете ли вы, что это причина? – user2533493
Кроме того, я нашел этот веб-сайт http://www.limilabs.com/blog/oauth2-gmail-imap-web-applications. Но, похоже, мы можем использовать IMAP только для ограниченного домена, то есть не для произвольных пользователей. Означает ли это, что мы можем получить доступ к GMail через IMAP только для ограниченного домена? – user2533493