1

好吧,伙计们,这是令人讨厌的事情:我制作了一个批处理文件,该文件制作了一个.ics我应该每天在我的 Google 日历中“上传”的文件。现在,批处理工作得很好,问题是我对结果的行为。

长话短说,如果我碰巧只有最后一个事件被提交到日历UIDVEVENT

例子:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//prodvam v0.3//EN
METHOD:PUBLISH
BEGIN:VEVENT
UID:prod
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY1
END:VEVENT
BEGIN:VEVENT
UID:prod
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY2
END:VEVENT
END:VCALENDAR

这只会提交一个名为SUMMARY211 月 12 日的事件......

我知道UID提交事件不是必需的,但如果我想稍后删除事件,这是必须的[而且我需要它,所以我不能只删除那行“代码”]。

我可以删除事件,创建.ics文件和所有内容,只是,我只是不明白为什么UID只会提交最后一个事件!

我尝试添加/替换各种东西,甚至是无意义的东西,比如事件的评论......

我做错了什么?任何提示?

4

2 回答 2

2

每个事件都应该有自己的 UID。您的文件已修复:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ingrossod//Compagnia VAM v0.3//EN
METHOD:PUBLISH
BEGIN:VEVENT
UID:ingrossod1
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY1
END:VEVENT
BEGIN:VEVENT
UID:ingrossod2
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY2
END:VEVENT
END:VCALENDAR
于 2014-11-12T22:57:15.897 回答
1

luc 为您的问题提供了有效的答案,但是您有可能没有全球唯一 ID。

UID表示Unique Identifier“唯一 ID”,它是日历组件的持久、全局唯一标识符。为了确保全球唯一性,RFC(参见https://www.rfc-editor.org/rfc/rfc5545#section-3.8.4.7)给出了如何确保它们是全球唯一的指南:

确保唯一性的一个好方法是将创建标识符的主机的域名或域文字 IP 地址放在“@”的右侧,并在左侧放置一个组合当前日历的日期和时间(即,格式化为 DATE-TIME 值)以及系统上可用的其他一些当前唯一(可能是连续的)标识符(例如,进程 ID 号)

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ingrossod//Compagnia VAM v0.3//EN
METHOD:PUBLISH
BEGIN:VEVENT
UID:20141112_SUMMARY1@ingrossod
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY1
END:VEVENT
BEGIN:VEVENT
UID:20141112_SUMMARY2@ingrossod
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY2
END:VEVENT
END:VCALENDAR
于 2014-11-13T15:31:21.250 回答