【问题标题】:Google Calender Vr3 - How do I add a reminder to an event?Google Calendar Vr3 - 如何为活动添加提醒?
【发布时间】:2014-06-15 21:30:39
【问题描述】:

到目前为止,我可以使用以下代码在日历中插入事件。

    Dim calService As CalendarService = calendarFunctions.getCalendarService(txtrefreshToken.Text.Trim)
    Dim calEventEntry As New Data.Event
    calEventEntry.Summary = "Invoice #123456 Due on dd/mm/yyyy"
    calEventEntry.Description = "Client: Acme Printing Ltd."
    calEventEntry.Id = "inv5670010"

    Dim eventStartDT As New Data.EventDateTime()
    eventStartDT.DateTime = DateTime.Now.AddHours(24)
    Dim eventStartEndDT As New Data.EventDateTime()
    eventStartEndDT.DateTime = DateTime.Now.AddHours(25)
    calEventEntry.Start = eventStartDT
    calEventEntry.End = eventStartEndDT
    Dim er As New EventsResource(calService)
    Dim erResp As Data.Event = er.Insert(calEventEntry, txtactiveCal.Text.Trim).Execute()

    'SO FAR SO GOOD!
    'Add email reminder to event 
    Dim remR As New EventReminder()
    remR.Method = "email"
    remR.Minutes = 10
    erResp.Reminders.Overrides.Add(remR) ' <<< ERROR: Object reference not set to an instance of an object

在最后一个块中,我试图将提醒添加到事件中(我不明白这必须在事件创建后完成吗?)。在最后一行我收到以下错误:

Object reference not set to an instance of an object

有谁知道我在这里做错了什么?

【问题讨论】:

    标签: vb.net google-calendar-api google-api-dotnet-client


    【解决方案1】:

    我怀疑 Overrides 默认为 null,所以除非你初始化它们,否则你不能在其中添加任何东西。

    【讨论】:

      【解决方案2】:

      我最终解决了这个问题,方法是创建一个 List(of EventReminder) 对象,添加所需的提醒并将其绑定到 event.remindersOverrides 属性。希望这段代码对其他人有帮助。

          Dim eventReminder As New List(Of EventReminder)()
          eventReminder.Add(New EventReminder() With { _
               .Minutes = 10, _
               .Method = "email" _
          })
      
          Dim de As New Data.Event.RemindersData()
          de.UseDefault = False
          de.[Overrides] = eventReminder
      
          calEventEntry.Reminders = de
      
          Dim er As New EventsResource(calService)
          Dim erResp As Data.Event = er.Insert(calEventEntry, txtactiveCal.Text.Trim).Execute()
      
          Response.Write("Event ID: " & erResp.Id & "<br/>")
          Response.Write("Link: <a href=""" & erResp.HtmlLink & """>" & erResp.HtmlLink & "</a><br/>")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-06
        • 1970-01-01
        • 2021-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多