使用C#访问gsuite邮件

我正在Windows中开发一个控制台应用程序,该应用程序将连接到gsuite邮件帐户,检查邮件列表,下载附件并将邮件移至已完成的文件夹(或只是将其删除)。

我做了一些工作,但是应用程序有时需要刷新凭据,因此打开了浏览器。不幸的是,由于使用计划任务从服务器运行了应用程序。

因此,我被赋予使用服务帐户的任务。

现在连接时,我会收到此错误:

消息[错误请求]位置[-]原因[failedPrecondition]域[全局] 当我使用此错误时会出现此错误:

    credential = new ServiceaccountCredential(new 
        ServiceaccountCredential.Initializer(serviceaccount)
                {
                    Scopes = new[] {
                        GmailService.Scope.MailGoogleCom
                        // GmailService.Scope.GmailSettingsSharing
                    }
                }.FromPrivateKey(privateKey));

或者这个:

发生错误:错误:“ unauthorized_client”,说明:“客户端未经授权使用此方法检索访问令牌,或者客户端未获得任何所请求范围的授权。

与上述代码相同,只是添加用户:

    var userId = "test@example.com";

    credential = new ServiceaccountCredential(new 
     ServiceaccountCredential.Initializer(serviceaccount)
                {

                    User = userId,Scopes = new[] {
                        GmailService.Scope.MailGoogleCom
                        // GmailService.Scope.GmailSettingsSharing
                    }
                }.FromPrivateKey(privateKey));

我的直觉是客户端没有在范围上获得正确的设置。 任何人都经历过同样的事情,并最终正确地做到了?

snoopy717 回答:使用C#访问gsuite邮件

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2964612.html

大家都在问