3
如何使用最少的数据创建一个icalendar文件,我尝试使其成为以下但有些错误,当我尝试导入到我的Google日历时,它说事件已成功导入,但我无法在日历上看到这些事件如何以编程方式创建.ics文件?
strResult.Append("BEGIN:VCALENDAR" & vbCrLf)
strResult.Append("VERSION:2.0" & vbCrLf)
strResult.Append("METHOD:PUBLISH" & vbCrLf)
While rst1.Read
strResult.Append("BEGIN:VEVENT" & vbCrLf)
strResult.Append("DTSTART: " & CDate(getLeave_date_start(CStr(rst1.getInteger("inq_id")), g_dom_id)).ToUniversalTime().ToString("yyyyMMddTHHmmssZ") & vbCrLf)
strResult.Append("DTEND: " & CDate(getLeave_date_end(CStr(rst1.getInteger("inq_id")), g_dom_id)).ToUniversalTime().ToString("yyyyMMddTHHmmssZ") & vbCrLf)
strResult.Append("SUMMARY: " & rst1.getString("inq_name") & vbCrLf)
strResult.Append("UID: " & rst1.getInteger("inq_id") & vbCrLf)
strResult.Append("CLASS:PUBLIC" & vbCrLf)
strResult.Append("END:VEVENT" & vbCrLf)
End While
strResult.Append("END:VCALENDAR" & vbCrLf)
WriteCalendar(strResult)
我写了一个函数WriteCalendar如下
Private Sub WriteCalendar(ByVal data As String)
Dim response As HttpResponse = Page.Response
response.Clear()
response.Buffer = True
response.ContentType = "text/calendar"
response.ContentEncoding = Encoding.UTF8
response.Charset = "utf-8"
response.AddHeader("Content-Disposition", "attachment;filename=""" & "icalendarTest" & ".ics""")
response.Write(data)
response.[End]()
End Sub
我下载的文件,看到我的事件,但是,当涉及到导入到谷歌日历,上面写着6个事件成功导入,但我不能上看到他们我的日历
输出icalendarTest.ics
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART: 20110107T060000Z
DTEND: 20110109T080000Z
SUMMARY: ayin yedisinden dokuzuna
UID: 9
CLASS:PUBLIC
END:VEVENT
BEGIN:VEVENT
DTSTART: 20110119T103000Z
DTEND: 20110119T150000Z
SUMMARY: tek gunluk ondokuz
UID: 10
CLASS:PUBLIC
END:VEVENT
BEGIN:VEVENT
DTSTART: 20110213T080000Z
DTEND: 20110213T160000Z
SUMMARY: Mijn Event
UID: 21
CLASS:PUBLIC
END:VEVENT
BEGIN:VEVENT
DTSTART: 20110301T083000Z
DTEND: 20110302T110000Z
SUMMARY: Mart kapidan baktirir
UID: 26
CLASS:PUBLIC
END:VEVENT
BEGIN:VEVENT
DTSTART: 20110117T080000Z
DTEND: 20110117T120000Z
SUMMARY: Neyse bi oncesi olsun
UID: 27
CLASS:PUBLIC
END:VEVENT
BEGIN:VEVENT
DTSTART: 20110121T130000Z
DTEND: 20110121T180000Z
SUMMARY: ocak 21i
UID: 31
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR
一注:UID应该是在整个宇宙中(考虑到所有的星系)是唯一的。一个整数对于这个 – 2011-02-08 09:23:32
不是一个很好的选择,这可能是不显示我的事件的原因吗? – wallace740 2011-02-08 10:22:56