我需要能够通过vCalendar对象为Outlook提供“可下载”的事件--如果我没记错的话。
从我所做的研究来看,我一直在使用vObject。我看过他们的用法示例,但之前没有使用该格式的经验,我不清楚如何解决我的问题,因为我不确定哪些字段可用,或者它们被称为什么……
有没有一个简单的例子来创建一个非常简单的对象/vCalendar事件,带有某种类型的名称/描述,有开始和结束时间/日期?
我将使用Django,并且可能会根据请求动态创建这些文件以供“下载”。
发布于 2010-06-05 01:46:54
我认为最有用的字段是:
dtstart:start timedtend:end timesummarylocationurldescription然后,您可以使用以下命令创建日历:
cal = vobject.iCalendar()然后是一个事件:
event = cal.add('vevent')并填充它:
event.add('summary').value = 'your summary'
event.add('dtstart').value = datetime.now() # or anything else
...现在如果你想通过http返回日历,你可以使用cal.serialize()。
发布于 2011-06-30 10:13:28
我在Windows系统上也遇到了同样的问题。一旦我用lfs替换了crlfs,事情就开始为我工作了。
output = cal.serialize().replace(u'\r\n', u'\n' ).strip()发布于 2012-01-25 22:18:49
Outlook 2003似乎对每个VEVENT都需要一个UID字段。icalendar模块似乎没有使用这些,所以我不得不添加以下代码片段:
import uuid
...
event.add('uid',uuid.uuid4())https://stackoverflow.com/questions/2976350
复制相似问题