Oauth 2.0 没有ServiceAccount的Gmail OAUTH 2.0

Oauth 2.0 没有ServiceAccount的Gmail OAUTH 2.0,oauth-2.0,gmail,mailkit,mimekit,Oauth 2.0,Gmail,Mailkit,Mimekit,我正在尝试发送一封带有OAUTH 2.0身份验证的电子邮件,如下所示: var certificate = new X509Certificate2(@"C:\path\to\my.p12", "mypassword", X509KeyStorageFlags.Exportable); var credential = new ServiceAccountCredential(new ServiceAccountCredential .I

我正在尝试发送一封带有OAUTH 2.0身份验证的电子邮件,如下所示:

        var certificate = new X509Certificate2(@"C:\path\to\my.p12", "mypassword", X509KeyStorageFlags.Exportable);

        var credential = new ServiceAccountCredential(new ServiceAccountCredential
            .Initializer("my@id.gserviceaccount.com")
        {
            Scopes = new[] { "https://mail.google.com/" },
            User = "scm.beartung@gmail.com"
        }.FromCertificate(certificate));

        bool result = await credential.RequestAccessTokenAsync(CancellationToken.None);


        // send email
        using (var client = new SmtpClient())
        {
            client.Connect("smtp.gmail.com", 587, false);
            client.Authenticate("user.name", credential.Token.AccessToken);
            client.Send(myMessage);
            client.Disconnect(true);
        }
但当我运行这段代码时,我得到了TokenResponseException:“客户端未经授权使用此方法检索访问令牌。”
我需要授权我的客户,这是对的吗?只有G诉讼账户才有可能?因此,我必须支付管理员帐户的费用,或者删除OAUTH?

您需要按照以下步骤为您的应用程序获取OAUTH 2.0凭据。

谢谢您的回答。但是,当我在某个时候按照说明操作时,我收到一条错误消息,说我没有管理员帐户,我不得不购买它。所以我想这是使用OAuth2.0的唯一方法?是的,这是唯一的方法。我没想到这会花很多钱。嗯,好吧,我想我会再检查一遍。谢谢:)