为什么我在使用Gmail Api时收到“错误请求”错误?

问题描述 投票:0回答:1

我正在使用wpf应用程序。我想删除域中所有帐户的电子邮件。我正在使用服务帐户广泛删除。

我还使用here进行身份验证和其他方法。我为我的管理员帐户授予了所有权限。

public GmailService GetService()
{ var certificate = new X509Certificate2(@"xxxxxxxxxxxx- 
fc9fcdc65959.p12", "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
           new ServiceAccountCredential.Initializer(serviceAccountEmail)
           {

               Scopes = new[] { GmailService.Scope.MailGoogleCom }
           }.FromCertificate(certificate));
        GmailService service = new GmailService(new 
BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = AppName,
        });
        return service;
    } 

列表功能如下。

public static List<Google.Apis.Gmail.v1.Data.Message> 
ListMessages(GmailService service, String userId, String query)
    {
        List<Google.Apis.Gmail.v1.Data.Message> result = new 
List<Google.Apis.Gmail.v1.Data.Message>();
        UsersResource.MessagesResource.ListRequest request = 
service.Users.Messages.List(userId);
        request.Q = query;

        do
        {
            try
            {
                ListMessagesResponse response = request.Execute();
                result.AddRange(response.Messages);
                request.PageToken = response.NextPageToken;
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
            }
        } while (!String.IsNullOrEmpty(request.PageToken));

        return result;

    }

当我尝试列出所有电子邮件时,我收到此错误。

"Google.Apis.Requests.RequestError
Bad Request [400]
Errors [
Message[Bad Request] Location[ - ] Reason[failedPrecondition] 
Domain[global]
]"

有人帮我吗?

wpf api service gmail account
1个回答
0
投票

您需要添加如下用户帐户:

ServiceAccountCredential.Initializer constructor = 
    new ServiceAccountCredential.Initializer(serviceAccountEmail) 
    { 
        user = user_email; 
        Scopes = new[] { GmailService.Scope.MailGoogleCom }
    }.FromCertificate(certificate));
© www.soinside.com 2019 - 2024. All rights reserved.