Я пытаюсь использовать MailKit (http://jstedfast.github.io/MailKit/docs/index.html) для входа в Gmail с использованием oAuth. Я могу войти в Google API с помощью обновленного AuthToken, но когда я пытаюсь использовать обновленный токен в MailKit, я получаю сообщение об ошибке «Недопустимые учетные данные»Как я могу войти в gmail IMAP с помощью MailKit
Любые подсказки ?? Спасибо, Джефф
Вот мой код:
var secrets = new ClientSecrets()
{
ClientId = "xxx-yyy.apps.googleusercontent.com",
ClientSecret = "xyzSecret"
};
IAuthorizationCodeFlow flow =
new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer
{
ClientSecrets = secrets,
Scopes = new string[] { GmailService.Scope.GmailReadonly }
});
var tokenResponse = flow.RefreshTokenAsync("", connection.RefreshToken, CancellationToken.None).Result;
using (var client = new MailKit.Net.Imap.ImapClient())
{
var credentials = new NetworkCredential("[email protected]", tokenResponse.AccessToken);
client.Connect("imap.gmail.com", 993, true, CancellationToken.None);
try
{
client.Authenticate(credentials, CancellationToken.None);
}
catch (Exception ex)
{
throw;
}
}
OAUTH2 требует пользовательского потока аутентификации, он не может использовать стандартную аутентификацию IMAP, что и делает это. Похоже, вы передаете токен доступа в качестве пароля, а это не так. – Max
Собственно, с MailKit я думаю, что он передается как пароль. Вот ссылка на другой ответ, используя SMTP, но все же моя не работает. Я собираюсь изучить сферу действия, которую мой AuthCode не может быть создан с использованием той, которая мне нужна. Я только что нашел https://mail.google.com для доступа к IMAP. У меня был доступ только для чтения из API. Не понимал, что сейчас все по-другому. Во всяком случае, вот ссылка @Max. [link] (http://stackoverflow.com/questions/24195508/smtp-and-oauth-2/24204968#24204968) – Jeff