XOAUTH GMAIL Проблемы - PullRequest
       12

XOAUTH GMAIL Проблемы

1 голос
/ 23 января 2012

Я сейчас попробовал базовую реализацию Java-кода для XOAUTH и Gmail, и я продолжаю сталкиваться с популярной «Недопустимой ошибкой учетных данных».Есть ли известное решение для этого, так как я не могу найти что-либо в Интернете.Пожалуйста, ознакомьтесь с моим кодом ниже:

КОД:

public class Oauth {

private static final String SCOPE = "https://mail.google.com/";

private static final String CONSUMER_KEY = "anonymous";
private static final String CONSUMER_SECRET = " anonymous ";
private static final String USER_EMAIL = "useremail@gmail.com";

public static void main(String[] args) throws Exception {

    GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
    oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);

    oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
    OAuthSigner signer = new OAuthHmacSha1Signer();

    GoogleOAuthHelper oauthHelper = new GoogleOAuthHelper(signer);

    oauthParameters.setScope(SCOPE);

    oauthHelper.getUnauthorizedRequestToken(oauthParameters);

    String requestUrl = oauthHelper.createUserAuthorizationUrl(oauthParameters);
    System.out.println(requestUrl);
    System.out.println("Please visit the URL above to authorize your OAuth "
            + "request token.  Once that is complete, press any key to "
            + "continue...");
    System.in.read();

    String token = oauthHelper.getAccessToken(oauthParameters);
    System.out.println("OAuth Access Token: " + token);
    System.out.println();

    //IMAP
    XoauthAuthenticator.initialize();

    IMAPSSLStore imapSslStore = XoauthAuthenticator.connectToImap("imap.googlemail.com   ",
            993,
            USER_EMAIL,
            oauthParameters.getOAuthToken(),
            oauthParameters.getOAuthTokenSecret(),
            new OAuthConsumer(null, CONSUMER_KEY, CONSUMER_SECRET, null),
            true);
    System.out.println("Successfully authenticated to IMAP.\n");
}

}

Пожалуйста, сообщите о вашей мысли, а также учтите, что я пытался использовать реальный потребительский ключ и секрет с той же ошибкой,см. ниже исключение:

ОШИБКА:

A1 НЕТ [ALERT] Неверные учетные данные (ошибка) Исключение в потоке "main" javax.mail.AuthenticationFailedException: [ALERT] Неверные учетные данные (Ошибка) в com.sun.mail.imap.IMAPStore.protocolConnect (IMAPStore.java:660) в javax.mail.Service.connect (Service.java:295) в GMAILP.XoauthAuthenticator.connectToImap (XoauthAuthenticator.java:106) вcom.google.code.samples.xoauth.Oauth.main (Oauth.java:49)

Класс Oauth использовался с другими стандартными классами XoauthAuthenticator.java, XoauthProtocol.java и т. д. в пределахтот же пакет, что и в java-образце zip

Пожалуйста, не могли бы вы посоветовать мне исключение, с которым я столкнулся, так как похоже, что протокол Gmail Oauth выглядит сложнее, чем я ожидал,Я просто хочу программно подключиться к электронной почте пользователя (после авторизации) и получить электронную почту для дальнейшего анализа, и я решил использовать Gmail из-за его открытой платформы.

Я действительно хотел реализовать Java-эквивалентфайла xoauth.py ( см. ), так как я не знаю Python, пожалуйста, сообщите о вашей мысли.

С уважением,

Ответы [ 2 ]

1 голос
/ 09 июня 2012

Я получил ту же проблему, а затем убедился, что обмен с gmail был точно таким, как показано в этом примере

т.е. отправив запрос о возможности на сервер, а также используя точно такие же теги (например, A01), и это сработало для меня.

0 голосов
/ 17 марта 2012

Добавить Thread.Sleep(3000) после getFolder("Inbox"); и inbox.open(Folder.READ_ONLY);

После этого у меня все работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...