¿Cómo acceder al calendario de los usuarios del dominio utilizando la cuenta de servicio en .net?

Estoy usando la cuenta de servicio con key.p12 cert para acceder a la API de Google Calendar. Sin embargo, no puede acceder al calendario de ningún usuario en el dominio. Seguí los pasos para delegar la autoridad de todo el dominio a la cuenta de serviciohttps://developers.google.com/accounts/docs/OAuth2ServiceAccount

No tiene código de muestra para .net. Y parece que solo obtengo ServiceAccountCredential en la biblioteca de cliente de google .net. Aqui esta mi codigo

    static void Main(string[] args)
    {
        string serviceAccountEmail = "[email protected]";
        var certificate = new X509Certificate2(@"clientPrivateKey.p12", "notasecret",  X509KeyStorageFlags.Exportable);

        Console.WriteLine("service account: {0}", serviceAccountEmail);

        ServiceAccountCredential credential = new ServiceAccountCredential(new
        ServiceAccountCredential.Initializer(serviceAccountEmail)
        {
            Scopes = new[] { CalendarService.Scope.Calendar }
        }.FromCertificate(certificate));

        BaseClientService.Initializer initializer = new  BaseClientService.Initializer();            

        initializer.HttpClientInitializer = credential;           
        initializer.ApplicationName = "Google Calendar Sample";
        CalendarService calservice = new CalendarService(initializer);

        // list all the calendars it can see
        try
        {
            var list = calservice.CalendarList.List().Execute();

            if (list.Items.Count > 0)
            {
                foreach(var item in list.Items)
                {
                    Console.WriteLine("Found calendar for account {0}", item.Id);
                }
            }
            else
            {
                Console.WriteLine("Calendar list for this service account is empty");
            }
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

La lista del calendario siempre está vacía. Si comparto manualmente el calendario de mi cuenta de dominio con esta cuenta de servicio en la configuración del calendario, entonces este código devuelve el calendario de mi cuenta de dominio con éxito.

¿Hay alguna manera de hacer que esta cuenta de servicio acceda a todo el calendario del usuario en el dominio?

Respuestas a la pregunta(2)

Su respuesta a la pregunta