Outlook vCalendar-显示为(忙/闲/暂定/不在办公室)
我向Outlook发送了一条vCalendar消息,导致Outlook日历中出现新事件。Outlook vCalendar-显示为(忙/闲/暂定/不在办公室),outlook,calendar,vcalendar,Outlook,Calendar,Vcalendar,我向Outlook发送了一条vCalendar消息,导致Outlook日历中出现新事件。 如何设置“显示为”字段?(空闲/忙碌/暂时/外出)您指的是哪个状态字段?你是指回复会议请求时还是发送会议信息时 不管怎样,答案都在vCalendar标准文档中。我想你指的是状态字段。Wikipedia有这样一个例子: BEGIN:VCALENDAR VERSION:1.0 BEGIN:VEVENT CATEGORIES:MEETING STATUS:TENTATIVE DTSTART:19960401T03
如何设置“显示为”字段?(空闲/忙碌/暂时/外出)您指的是哪个状态字段?你是指回复会议请求时还是发送会议信息时 不管怎样,答案都在vCalendar标准文档中。我想你指的是状态字段。Wikipedia有这样一个例子:
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
CATEGORIES:MEETING
STATUS:TENTATIVE
DTSTART:19960401T033000Z
DTEND:19960401T043000Z
SUMMARY:Your Proposal Review
DESCRIPTION:Steve and John to review newest proposal material
CLASS:PRIVATE
END:VEVENT
END:VCALENDAR
该格式的标准文件为:
您也可以尝试在outlook中创建事件,将其保存为vCard,然后在记事本中打开vCard。这将显示outlook如何保存信息
文档使我相信,您只能设置忙碌或暂时状态:
4.8.1.11状态
属性名称:状态
用途:此属性定义
日历组件 值类型:文本 属性参数:非标准 属性参数可以是
在此属性上指定
FREEBUSY;FBTYPE=BUSY:19980415T133000Z/19980415T170000Z
一致性:此属性可以是
在“VEVENT”、“VTODO”或“VJOURNAL”日历组件 描述:在计划的组中 日历组件,属性为
“组织者”用于提供 向客户确认事件
“与会者”。例如在“VEVENT”中 日历组件,“组织者” 可以表示会议正在进行中 暂时的,确定的或取消的。 在“VTODO”日历组件中 “组织者”可以表示 行动项目需要行动,是吗 已完成、正在进行或正在进行 已处理或已取消。在一个 “VJOURNAL”日历组件 “组织者”可以表示 日记账分录为草稿、最终或最终分录 已被取消或删除 格式定义:属性为 由以下符号定义:
status = "STATUS" statparam] ":" statvalue CRLF
statparam = *(";" xparam)
statvalue = "TENTATIVE" ;Indicates event is
;tentative.
/ "CONFIRMED" ;Indicates event is
;definite.
/ "CANCELLED" ;Indicates event was
;cancelled.
;Status values for a "VEVENT"
fbtypeparam = "FBTYPE" "=" ("FREE" / "BUSY"
/ "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE"
/ x-name
; Some experimental iCalendar data type.
/ iana-token)
; Some other IANA registered iCalendar data type.
事实证明,在《标准》中有这样一个位置,肖恩错过了: 4.2.9忙/闲时间类型 参数名称:FBTYPE 目的:指定免费或免费 繁忙时间类型 格式定义:属性 参数由以下内容定义 符号:
status = "STATUS" statparam] ":" statvalue CRLF
statparam = *(";" xparam)
statvalue = "TENTATIVE" ;Indicates event is
;tentative.
/ "CONFIRMED" ;Indicates event is
;definite.
/ "CANCELLED" ;Indicates event was
;cancelled.
;Status values for a "VEVENT"
fbtypeparam = "FBTYPE" "=" ("FREE" / "BUSY"
/ "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE"
/ x-name
; Some experimental iCalendar data type.
/ iana-token)
; Some other IANA registered iCalendar data type.
Description:参数
指定空闲或繁忙时间类型。
值FREE表示
时间间隔可自由安排。
值BUSY表示时间
时间间隔很忙,因为一个或多个
已经安排了更多的活动
这段时间。值忙-不可用表示 时间间隔很忙,并且 无法安排时间间隔。这个 值BUSY-tential表示 时间间隔很忙,因为 一个或多个事件已发生
暂定 间隔如果未在上指定
属性,该属性允许使用此参数, 默认设置为忙 示例:下面是一个示例 示例中的此参数 闲忙物业
FREEBUSY;FBTYPE=BUSY:19980415T133000Z/19980415T170000Z
我在Outlook 2010创建的.ics文件中看到了这一行
X-MICROSOFT-CDO-BUSYSTATUS:FREE
因此,看起来微软已经“扩展”了vcal规范以适应他们的用途。我可以确认,在Outlook中查看提要时添加该行确实有效,在iPhone日历应用程序中使用提要时似乎不会造成任何伤害。X-MICROSOFT-CDO-BUSYSTATUS:OOF
标记outlook的“外出”日历由于RFC 2445和5545都不支持状态OOO和暂定,您可以使用属性X-MICROSOFT-CDO-INTENDEDSTATUS:不确定这些年来情况是否发生了变化,但我可以使用它自动将情况设置为暂定:
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
我使用python导入win32, 因为这是一个名为BUSYSTATUS的属性, 该值可以定义节目的状态 空闲=0,1=紧张,2=忙碌
import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
myItem = outlook.CreateItem(1)
myItem.MeetingStatus =(1) ## this means it is an appointment
myItem.BUSYSTATUS=0 ## SHOW AS 0=FREE,1=TENTIVE,2=BUSY
以下任何一项对你有用吗?最好接受一个答案:)暂定在RFC 5545中,请参阅。(是否得到CalDAV客户端的支持是另一个问题。)我不认为“离开”映射到OOO。我尝试过这个,但似乎不起作用。也许是我的实现,但我认为FREEBUSY是用于VFREEBUSY组件的,而不是用于VEVENT。