2017-08-27 67 views
1

我使用ical.net为我的解决方案提供Outlook Internet日历集成。添加通知Ical.net中的活动

我从凌晨00:00到凌晨00:00(次日)有几个活动。 当我向事件添加警报时,在Outlook中,这些事件显示为没有警报。

这是我如何添加警报和事件的代码。

foreach (var taskItem in taskItems.Where(t => t.DueDate != null && t.DueDate.HasValue == true)) 
    { 
     var hyperlink = Request.GetBaseUrl(); 

     hyperlink = string.Format("{0}/TaskBoard/Tasks?listId={1}", hyperlink, taskItem.ListId); 
     var dueDate = new DateTime(taskItem.DueDate.Value.Ticks, DateTimeKind.Utc); 
     var alarm = new Alarm() 
     { 
      Summary = taskItem.Title, 
      Trigger = new Trigger(TimeSpan.FromMinutes(-15)), 
      Action = AlarmAction.Display 
     }; 

     var calendarEvent = new Event 
     { 
      Class = "PUBLIC", 
      Summary = taskItem.Title, 
      Created = new CalDateTime(taskItem.Created.Value), 
      Description = string.Format("Open board: {0}", hyperlink), 
      Start = new CalDateTime(dueDate), 
      End = new CalDateTime(dueDate.AddDays(1)), 
      Uid = taskItem.Id.ToString(), 
      Location = taskItem.ListTitle 
     }; 

     calendarEvent.Alarms.Add(alarm); 
     calendar.Events.Add(calendarEvent); 
    } 

这是造成iCal档案内容

BEGIN:VCALENDAR 
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 2.2//EN 
VERSION:2.0 
X-WR-CALNAME:Agile Kanban - Meine Aufgaben 
BEGIN:VEVENT 
CLASS:PUBLIC 
CREATED:20170814T114839 
DESCRIPTION:Open board: https://localhost:44300/TaskBoard/Tasks?listId=637 
90e98-cacc-4f03-992f-f3276db06dda 
DTEND:20170827T220000Z 
DTSTAMP:20170829T170757Z 
DTSTART:20170826T220000Z 
LOCATION:Room1 
SEQUENCE:0 
SUMMARY:Task changed 
UID:1d4b10bf-7434-41d9-8dd2-311e3679b0a7 
BEGIN:VALARM 
ACTION:Display 
SUMMARY:Task changed 
TRIGGER:-PT15M 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

回答

1

如何将事件添加到Outlook?

如果将它们作为http订阅提供,Outlook可能会故意忽略它。如何预先得到通知是一种非常个人的选择,因此日历客户往往会忽略来自外部来源的警报,无论是通过邀请(请参阅Sent email with iCal to outlook with valarm reminder)还是通过公共日历订阅添加。

如果你是做任务的进口和警报仍然没有露面,也可能是您的iCalendar流,以seing实际的iCalendar流,而不是你的代码会更加有用的一个问题。

最后,我隐约记得Outlook只处理VTODO的绝对报警(见https://tools.ietf.org/html/rfc5545#section-3.8.6.3),但我不知道它是否仍然如此。

+0

我在原帖中添加了ICal的样本。即使我导入该文件,警报也没有设置。 –

+0

您的活动已过去。 Outlook可能会在导入时剥离它。 – arnaudq

+0

在进口时,它是在未来;-)但没有警报。你认为ical文件的格式是否正确? –