c# gmail-api

El cliente no está autorizado para recuperar tokens de acceso con este método Gmail API C#



gmail-api (1)

La cuenta de servicio debe estar autorizada o no puede acceder a los correos electrónicos del dominio.

"El cliente no está autorizado para recuperar tokens de acceso utilizando este método"

Significa que no lo ha autorizado correctamente, verifique developers.google.com/identity/protocols/…

Recibo el siguiente error cuando intenté autorizar la API de Gmail con la cuenta de servicio

"El cliente no está autorizado para recuperar tokens de acceso utilizando este método"

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();

Estoy usando la clave p12 que obtuve al crear una cuenta de servicio. Pero cuando ejecuto mi aplicación de consola se produce el siguiente error. Cualquier ayuda sería muy apreciada.

Gracias por adelantado !