总结一下即将发生的事情:
- 如何通过链接发送日历?
- 为什么日历第一次保存在我的本地 PC 上时可以正常工作,而直接从 Web 获取时无法修改,尽管它是在没有消息的情况下导入的?
- 如何找到修改失败的原因?
完整解释:
我正在开发一个生成 ICS 日历的应用程序。此日历通过 URL 发送给用户。到目前为止,我发现用户可以通过Calendar tab
-> New Calendar
->导入日历On the Network
。然后提供生成日历的 URL 并按照向导创建一个新日历。这工作得很好,即使我想找到一种方法来允许用户导入日历(如果是这种情况,自动触发向导)只需点击我的链接。我尝试将链接嵌入到邮件中,但是当单击它时会触发浏览器(如果它是在 HTTP 协议中提供的,或者在 WebDAV 协议中提供时出现错误)。你知道有什么方法可以产生一个可以实现我的目标的链接吗?
然而,真正的问题是另一个。当我按照描述 ( Calendar tab
-> New Calendar
-> On the Network
) 导入日历然后尝试修改任何事件数据时,我收到一条MODIFICATION_FAILED
消息,错误控制台仅显示
Timestamp: 03/14/2013 12:20:08 PM
Error: An error occurred when writing to the calendar Test! Error code: MODIFICATION_FAILED. Description:
Source File: resource://calendar/modules/calUtils.jsm -> file:///home/mdavi/.thunderbird/sdq097yy.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calCalendarManager.js
Line: 976
我怎样才能找到这个错误的原因?此外,我尝试将生成的日历(或从我的链接下载)导出到 ICS 文件,然后通过File
-> Open
->打开此类文件,Calendar File ...
而不修改导出文件中的任何内容,这样我什至可以修改事件数据. 所以为什么?我生成的 ICS 文件非常简单,如下所示:
BEGIN:VCALENDAR
PRODID:-//Events Calendar//iCal4j //EN
METHOD:PUBLISH
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
UID:...
SUMMARY:...
DTSTART:...
DTEND:...
DESCRIPTION:...
LOCATION:...
URL:...
END:VEVENT
END:VCALENDAR
VEVENT 的所有属性都很好。