Vb.net 使用OAuth登录Google电子邮件会返回Chimlkat.Imap的无效凭据

Vb.net 使用OAuth登录Google电子邮件会返回Chimlkat.Imap的无效凭据,vb.net,gmail-api,google-oauth,gmail-imap,chilkat,Vb.net,Gmail Api,Google Oauth,Gmail Imap,Chilkat,尝试使用Chilkat IMAP电子邮件组件通过带有OAuth2的IMAP访问Google电子邮件帐户。我正在从服务器响应接收此消息 serverResponse:aaab无[AUTHENTICATIONFAILED]无效凭据 (失败) 我们使用的是VB.NET,我在下面的示例中介绍。使用SSL和端口993连接到imap.gmail.com。我正在设置Imap.AuthMethod=“XOAUTH2”,并使用AuthToken而不是密码。Imap.Login(LoginName,AuthToke

尝试使用Chilkat IMAP电子邮件组件通过带有OAuth2的IMAP访问Google电子邮件帐户。我正在从服务器响应接收此消息

serverResponse:aaab无[AUTHENTICATIONFAILED]无效凭据 (失败)

我们使用的是VB.NET,我在下面的示例中介绍。使用SSL和端口993连接到imap.gmail.com。我正在设置
Imap.AuthMethod=“XOAUTH2”
,并使用AuthToken而不是密码。
Imap.Login(LoginName,AuthToken)
是错误消息的来源

我使用Gmail帐户启用了IMAP,并且启用了不太安全的应用程序。我确认密码设置了正确的身份验证令牌,并检查了API范围是否正确设置为。如果我只是尝试直接登录名和密码,则登录成功


不确定还要检查什么才能找出导致无效凭据错误的原因。

我写这篇博文是为了了解整个过程:

  • 在,创建凭据(客户端ID、客户端机密)并定义重定向URL
  • 从应用程序中获取初始OAuth2令牌的代码
  • 使用OAuth2在IMAP协议中进行身份验证的代码
  • 刷新令牌的代码

  • 我还上传了一些YouTube视频演示1和2。

    解决了问题。对于令牌,我将其设置为“Bear ya29.a0AfH6SMDF…”,这是我们为用于日历同步的nSoftware组件设置的。我删除了“Bear”作为令牌的一部分,可以使用Chilkat IMAP电子邮件组件正常登录。”

    找到了此问题的原因

    在登录调用中,应用程序传递的密码是“Bearer”,而不是“Bearer”:

    正确: success=imap.Login(“user@gmail.com“,”)

    不正确: success=imap.Login(“user@gmail.com“,”持票人“)


    访问令牌被认为是密码。Chilkat添加了所需的“承载者”“编写发送到IMAP服务器的XOAUTH2数据时,在内部使用字符串。

    Hi there@kencleary!我无法复制你的问题。我可以看到您使用的是第三方Chilkat库,而不是官方的。为了防止Chilkat端的任何错误配置,请您尝试在没有它的情况下连接到Gmail API好吗?你可以用这封信作为参考。谢谢Jacques。通过.NET快速启动链接,我可以让它连接并读取文件夹。我可以把它带回Chilkat,看看他们怎么说。我们拿到令牌并刷新它。问题是试图使用该令牌通过Chilkat IMAP电子邮件组件登录到。我们一直在使用Chilkat组件通过IMAP登录,只使用标准登录名和密码。我们正在做的唯一更改是,如果我们使用令牌,我们将AuthMethod设置为将密码更改为令牌。基于Chilkat文档,我认为这是使用auth令牌登录的唯一更改,对吗?