wake-up-neo.com

Der Client ist nicht berechtigt, Zugriffstoken mit dieser Methode abzurufen. Google Mail-API C #

Ich erhalte die folgende Fehlermeldung, wenn ich versuche, die Google Mail-API mithilfe des Dienstkontos zu autorisieren

"Der Client ist nicht berechtigt, Zugriffstoken mit dieser Methode abzurufen."

static async Task MainAsync()
    {

        sstageEntities db = new sstageEntities();
        //UserCredential credential;
        Dictionary<string, string> dictionary = new Dictionary<string, string>();    
String serviceAccountEmail =
"xxx.iam.gserviceaccount.com";

        var certificate = new X509Certificate2(
            AppDomain.CurrentDomain.BaseDirectory +
              "xxx-8c7a4169631a.p12",
            "notasecret",
            X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.Exportable);

        //string userEmail = "[email protected]";

        ServiceAccountCredential credential = new ServiceAccountCredential(
            new ServiceAccountCredential.Initializer(serviceAccountEmail)
            {
                User = "[email protected]",
                Scopes = new[] { "https://mail.google.com/" }
            }.FromCertificate(certificate)
        );


        // Create Gmail API service.
        var gmailService = new GmailService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = ApplicationName,
        });

        // Define parameters of request.

        var emailListRequest = gmailService.Users.Messages.List("[email protected]");
        emailListRequest.LabelIds = "INBOX";
        emailListRequest.IncludeSpamTrash = true;
        emailListRequest.Q = "from:[email protected] is:unread";



        //Get our emails
        var emailListResponse = await emailListRequest.ExecuteAsync();

Ich verwende den p12-Schlüssel, den ich beim Erstellen des Dienstkontos erhalten habe. Aber wenn ich meine Konsolen-App starte, tritt der folgende Fehler auf. Jede Hilfe wäre sehr willkommen.

Danke im Voraus !

16
Melvin

Das Dienstkonto muss autorisiert sein oder es kann nicht auf die E-Mails für die Domain zugreifen.

"Der Client ist nicht berechtigt, Zugriffstoken mit dieser Methode abzurufen."

Bedeutet, dass Sie es nicht ordnungsgemäß autorisiert haben. Aktivieren Sie Domainweite Autorität an das Dienstkonto delegieren

18
DaImTo