如何用VB.NET通过Google Calendar API获取主日历的即将发生事件?
获取Google Calendar主日历即将发生事件的VB.NET实现
你需要的C#代码对应的VB.NET版本如下,直接替换原有的日历列表获取逻辑,改为获取主日历的即将发生事件:
Private Sub LoadUpcomingPrimaryEvents() Dim service As CalendarService = GetCalendarService() ' 创建主日历的事件列表请求 Dim request As EventsResource.ListRequest = service.Events.List("primary") ' 设置参数:只获取当前时间之后的事件(即将发生) request.TimeMin = DateTime.Now ' 不包含已删除的事件 request.ShowDeleted = False ' 将重复事件展开为单个事件 request.SingleEvents = True ' 最多返回10条结果 request.MaxResults = 10 ' 按事件开始时间排序 request.OrderBy = EventsResource.ListRequest.OrderByEnum.StartTime ' 执行请求并获取结果 Dim events As Events = request.Execute() If events Is Nothing Or events.Items.Count = 0 Then MsgBox("没有找到即将发生的事件。") Else For Each evt As Event In events.Items Console.WriteLine($"事件标题:{evt.Summary},开始时间:{evt.Start.DateTime}") Next End If End Sub
关键说明:
- 直接指定
service.Events.List("primary")即可仅获取主日历,无需遍历所有日历列表 request.TimeMin = DateTime.Now确保只返回当前时间之后的即将发生事件- 其他参数作用:
SingleEvents = True:把重复事件拆分为独立的单个事件,方便按时间排序查看MaxResults = 10:限制返回结果数量,避免数据过多OrderBy = StartTime:按事件开始时间升序排列,先显示最近的事件
注意:原代码是获取日历列表(CalendarList.List),而我们需要的是获取日历内的事件(Events.List),这是两个不同的API请求,所以需要替换整个逻辑。
内容的提问来源于stack exchange,提问作者Eduardo
相关产品推荐
相关产品推荐

