1

oAuth を使用して Gmail にログインするために、MailKit ( http://jstedfast.github.io/MailKit/docs/index.html ) を使用しようとしています。更新された AuthToken を使用して Google API にログインできますが、更新されたトークンを MailKit で使用しようとすると、「Invalid Credentials」というエラーが表示されます。

手がかりはありますか?? ありがとう、ジェフ

これが私のコードです:

 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("emailtoconnect@gmail.com", tokenResponse.AccessToken);

            client.Connect("imap.gmail.com", 993, true, CancellationToken.None);
            try
            {
                client.Authenticate(credentials, CancellationToken.None);
            }
            catch (Exception ex)
            {

                throw;
            }


        }
4

3 に答える 3

0
using (var client = new ImapClient())
            {
                client.Connect("imap.gmail.com", 993, true);  
                client.AuthenticationMechanisms.Remove("XOAUTH2");
                client.Authenticate(EmailId, Password);
            }

上記のコードは、imap と MailKit ツールを使用して gmail にログインするために使用されます。ただし、これを行う前に、手動で gmail にログインし、[設定] で [Imap を有効にする] オプションをオンにする必要があります。これは確かにうまくいきます。

于 2016-06-30T09:35:12.890 に答える