使用c#删除/清除日历事件

时间:2015-01-11 15:10:13

标签: c# .net google-api google-calendar-api

我有一个使用.net控制台应用程序的应用程序,该应用程序将在白天无人值守地执行计划任务。我已经能够插入事件没有问题。但我想要做的是删除事件和/或清除日历。我需要使用服务帐户,因为该程序无人值守。当我在下面运行此代码时,它给了我403未经授权的错误。我已将此日历分享到服务帐户电子邮件地址。我收到了service.Calendars.Clear(Calitems [0] .Id).Execute();线。

当我从控制台运行clear命令时,它会运行,但需要oauth授权。请告诉我,我不需要进行身份验证来删除/清除日历事件。由于该程序无人值守,因此无法正常工作。

再次感谢您的帮助。

 string keyFilePath = "thekeyfile.p12";
 string serviceAccountEmail = "serviceaccountemail@developer.gserviceaccount.com";
 var certificate = new X509Certificate2(keyFilePath, "****", X509KeyStorageFlags.Exportable);

 ServiceAccountCredential credential = new ServiceAccountCredential(
            new ServiceAccountCredential.Initializer(serviceAccountEmail)
            {
                Scopes = scopes
            }.FromCertificate(certificate));
 // Create the service.
 CalendarService service = new CalendarService(new BaseClientService.Initializer()
 {
      HttpClientInitializer = credential,
      ApplicationName = "Calendar API Sample",
 });

 var calendarList = service.CalendarList.List().Execute();
 IList<CalendarListEntry> Calitems = calendarList.Items;
 EventsResource.ListRequest request = service.Events.List(Calitems[0].Id);
 Console.WriteLine("Starting");

 service.Calendars.Clear(Calitems[0].Id).Execute();

 Console.WriteLine("Ending");

 return true;

0 个答案:

没有答案