Я сейчас попробовал базовую реализацию 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, пожалуйста, сообщите о вашей мысли.
С уважением,