将事件插入 Google 日历 C# 中的特定日历

Insert event to specific calendar in Google Calendar C#

我编写了一个应用程序,可以将事件添加到 Google 日历。 这工作正常,但有没有办法将此事件添加到特定日历而不是主日历?

这是我的代码:

        var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                        new ClientSecrets
                        {
                            ClientId = "#",
                            ClientSecret = "#",
                        },
                        new[] { CalendarService.Scope.Calendar },
                        "user",
                        CancellationToken.None).Result;

        // Create the service.
        var service = new CalendarService(new BaseClientService.Initializer
        {
            HttpClientInitializer = credential,
            ApplicationName = "Custom CRM",
        });
        var myEvent = new Event
        {
            Summary = "Test contact",
            Location = "1 Longford Drive",
            ColorId = "6",
            
            Start = new EventDateTime()
            {
                DateTime = new DateTime(2022, 2, 27, 14, 0, 0),
                TimeZone = "Asia/Karachi"
            },
            End = new EventDateTime()
            {
                DateTime = new DateTime(2022, 2, 28, 15, 0, 0),
                TimeZone = "Asia/Karachi"
            },
            //Recurrence = new String[] { "RRULE:FREQ=WEEKLY;BYDAY=MO" },
            //If you want to add attendee
            //Attendees = new List<EventAttendee>()
            //{
            //    new EventAttendee { Email = "youemail@yahoo.com"}
            //},
        };

        var recurringEvent = service.Events.Insert(myEvent, "primary");
        recurringEvent.SendNotifications = true;
        recurringEvent.Execute();

        MessageBox.Show("Event added!");

我想将事件添加到日历“测试”中:

是的,您可以提供用户有权访问的任何日历的日历 ID。

所有用户都有一个主日历。通过说主要,您只是将它添加到那里。

var recurringEvent = service.Events.Insert(myEvent, "primary");

如果您知道日历 ID,则可以只提供日历 ID 而不是主要一词。

您可以使用 CalendarList.List 获取其日历列表中所有用户日历的列表。这是 Google 日历网络应用左下角的列表。