相关疑难解决方法(0)

ICalendar和事件更新在Outlook中不起作用

我正在生成ICalendar(.ics)文件.

使用UID和SEQUENCE字段,我可以更新Google日历和Windows日历中的现有事件,但不能更新 MS Outlook 2007中的现有事件- 它只会创建第二个事件

如何让他们为Outlook工作?

谢谢

汤姆

language-agnostic icalendar rfc2445 rfc5545

23
推荐指数
3
解决办法
2万
查看次数

如何创建包含多个VEVENT的.ICS文件以导入到现有Outlook日历中

我需要允许用户下载具有多个会议日期的活动.为此,我创建了一个要下载的内存流,生成一个.ics文件.例如:

BEGIN:VCALENDAR
PRODID:-//Company//Product//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Subject of Event
LOCATION:Location of Event
UID:1227559810-8527e2c-20847@domain.com
DESCRIPTION:Some description
DTEND:20081101T200000Z
DTSTART:20081101T200000Z
PRIORITY:3
END:VEVENT
BEGIN:VEVENT
  ...
END:VEVENT
END:VCALENDAR

如果我只在此文件中包含一个VEVENT,它会将其保存到我现有的Outlook日历中.但是,当我有多个VEVENT时,它想要将其作为新日历打开并将其存档在"其他日历"下.

有没有办法(不使用文件 - 从Outlook中导入)指定日历应在打开时自动导入现有日历?

更新:澄清一下,每个VEVENT都与一个"约会"有关.然而,可能存在或可能不存在重复模式.

-麦克风

asp.net icalendar outlook calendar

15
推荐指数
1
解决办法
4万
查看次数

使用iCalendar文件更新Outlook 2007中的事件

这个问题一个先前的线程,并提示答案,但我无法让它工作.

我有一个ICS文件.它验证.它看起来像这样:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:0
DTSTAMP:20081108T151809Z
DTSTART:20081109T121200
SUMMARY:11/9/2008 12:12:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

我双击它,它完全进入Outlook 2007.然后,我双击另一个看起来像这样的ICS文件:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
BEGIN:VEVENT
METHOD:REQUEST
UID:FRICAL201
SEQUENCE:1
DTSTAMP:20081108T161809Z
DTSTART:20081109T121300
SUMMARY:11/9/2008 12:13:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

正如在rfc中解释的那样,UID是相同的,序列号是一个更大的,所以我希望outlook更新我以前的事件条目,但它所做的只是插入第二个.

如何制定ICS文件以便Outlook知道更新事件?我在上面引用的主题中的原始海报说他得到它以METHOD和ORGANIZER回应但是根据我的经验,METHOD没有效果,并且ORGANIZER导致不希望的行为,Outlook希望将事件通过电子邮件发送给某人.我只是想让它更新日历.

icalendar outlook outlook-2007

12
推荐指数
1
解决办法
9041
查看次数

打开包含多个事件的ICS文件会在Outlook中创建新日历

我希望能够创建一个包含多个事件的ICS文件,用户可以在其默认的 Exchange日历中导入这些事件.我需要支持Outlook桌面客户端,Office 365 Web界面和Apple iPhone Mail/Calendar.

请注意,只有包含多个事件的ICS文件才会出现此问题.单事件ICS按预期工作.

以下多事件ICS文件:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//bobbin v0.1//NONSGML iCal Writer//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART:20180327T080000Z
DTEND:20180327T110000Z
DTSTAMP:20091130T213238Z
UID:1285935469767a7c7c1a9b3f0df8003a@yourserver.com
CREATED:20091130T213238Z
DESCRIPTION:Example event 1
LAST-MODIFIED:20091130T213238Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Example event 1
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART:20180328T120000Z
DTEND:20180328T130000Z
DTSTAMP:20091130T213238Z
UID:1285935469767a7c7c1a9b3f0df8003b@yourserver.com
CREATED:20091130T213238Z
DESCRIPTION:Example event 2
LAST-MODIFIED:20091130T213238Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Example event 2
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

在Office 365 Web界面和Apple iPhone Mail/Calendar中正常工作.但是,当它在Outlook 2016中导入时,它会创建一个新的"无标题"日历并将事件放入其中而不是默认用户日历.

这似乎是之前在SO上引用的一个已知问题:

ICal导入创建新日历打开ics文件时

将包含多个事件的ICS文件保存到我的日历,而不是其他日历

答案的范围从"它无法完成"到相反的范围.

第一个链接中的一个帖子提到X-WR-CALNAME从ICS 中删除 修复了该问题.我从未在ICS开始这样做过.

同一页面上的另一篇文章提到添加X-WR-RELCALID:XXXXXX修复它.我试过把它放入其中并没有任何区别.我不确定X-WR-RELCALID的值是否应设置为特定的值 - 我只是将其设置为某个GUID.

如果有人成功解决了这个问题 - 您是否可以发布ICS示例以及它使用的Outlook版本?

icalendar outlook

8
推荐指数
0
解决办法
962
查看次数

如何让Outlook处理事件更新?

我试图在Outlook 2007中创建,更新和删除事件(但最好是它适用于所有版本).创建和删除事件工作正常.我跟踪了几个 线程,但由于某种原因,更新操作失败了.

当我双击ICS文件时,Outlook会打开一个窗口,我唯一的选择是删除.但它要删除的事件不是旧事件,而是新事件(即使它尚未创建).所以当我点击删除时,旧事件仍然在这里.

UID是相同的,序列已增加1,DTSTAMP更新.

第一项活动:

BEGIN:VCALENDAR
PRODID:-//Blatant Media Corporation//Absorb LMS//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
CLASS:PUBLIC
DTSTART;VALUE=DATE-TIME:20101111T13000000Z
DTEND;VALUE=DATE-TIME:20101111T14000000Z
UID:AbsorbClass150180
DESCRIPTION:A nov session for demoing only\n\nVenue:\nBoardroom 123\n\nInstructor:\nMike Owens\n\nCourse Description:\nInstructor Led Training (ILT) topic: First Aid\n\n------------------\nAbsorb Anywhere\nhttp://www.absorbtraining.com
LOCATION:Boardroom 123
SUMMARY:First Aid: Nov
DTSTAMP:20101107T15353400Z
LAST-MODIFIED:20101107T15353400Z
STATUS:CONFIRMED
SEQUENCE:0
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

更新的活动:

BEGIN:VCALENDAR
PRODID:-//Blatant Media Corporation//Absorb LMS//EN
VERSION:2.0
METHOd:REQUEST
BEGIN:VEVENT
CLASS:PUBLIC
DTSTART;VALUE=DATE-TIME:20101111T15000000Z
DTEND;VALUE=DATE-TIME:20101111T16000000Z
UID:AbsorbClass150180
DESCRIPTION:A nov session for demoing only\n\nVenue:\nBoardroom 123\n\nInstructor:\nMike Owens\n\nCourse Description:\nInstructor Led Training (ILT) topic: First Aid\n\n------------------\nAbsorb Anywhere\nhttp://www.absorbtraining.com
LOCATION:Boardroom 123
SUMMARY:First Aid: …
Run Code Online (Sandbox Code Playgroud)

icalendar outlook

6
推荐指数
1
解决办法
8265
查看次数