8

我向 Outlook 发送了一条 vCalendar 消息,这会在 Outlook 日历中产生一个新事件。如何设置“显示为”字段?(空闲/忙碌/暂定/不在办公室)

4

7 回答 7

5

I saw this line in the .ics file created by Outlook 2010

X-MICROSOFT-CDO-BUSYSTATUS:FREE

so it looks like Microsoft has "extended" the vcal spec to suit their purposes. I can confirm that adding that line does work when a feed is viewed in Outlook and seems to cause no harm when consumed by the iPhone's calendar app.

于 2011-02-23T15:00:28.447 回答
4

事实证明,在标准中有一个地方,肖恩错过了:

4.2.9 忙/闲时间类型

参数名称:FBTYPE

目的:指定空闲或忙碌时间类型。

格式定义:属性参数由以下符号定义:

 fbtypeparam        = "FBTYPE" "=" ("FREE" / "BUSY"
                    / "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE"
                    / x-name
    ; Some experimental iCalendar data type.
                    / iana-token)



    ; Some other IANA registered iCalendar data type.

说明:该参数指定空闲或忙碌时间类型。FREE值表示该时间间隔可用于调度。值 BUSY 表示时间间隔很忙,因为已为该间隔安排了一个或多个事件。BUSY-UNAVAILABLE值
表示时间间隔很忙,无法安排时间间隔。BUSY-TENTATIVE 值表示时间间隔很忙,因为已经
为该间隔暂时安排了一个或多个事件。如果未在
允许此参数的属性上指定,则默认值为 BUSY。

示例:以下是该参数在 FREEBUSY 属性上的示例。

 FREEBUSY;FBTYPE=BUSY:19980415T133000Z/19980415T170000Z
于 2010-11-09T23:12:30.780 回答
3

X-MICROSOFT-CDO-BUSYSTATUS:OOF

标记 Outlook 的“不在办公室”日历

于 2014-05-26T13:57:24.853 回答
2

您指的是哪个状态字段?您的意思是在回复会议请求或发送有关会议的信息时?

无论哪种方式,答案都在 vCalendar 标准文档中。我认为您的意思是 STATUS 字段。维基百科有一个这个领域的例子:

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

http://en.wikipedia.org/wiki/VCalendar#vCalendar_1.0

格式的标准文档是:http ://www.ietf.org/rfc/rfc2445.txt

您也可以尝试在 Outlook 中创建事件,将其保存为 vCard,然后在记事本中打开 vCard。这将向您展示 Outlook 如何保存信息。

该文档使我相信您只能设置忙碌或暂定状态:

4.8.1.11 状态

属性名称:状态

用途:此属性定义
日历组件的整体状态或确认。

值类型:文本


属性参数:可以在此属性上指定非标准属性参数。

一致性:可以在“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"
于 2009-04-28T23:50:19.747 回答
0

我用python导入win32,因为这是一个叫BUSYSTATUS的属性,该值可以定义显示FREE=0,1=TENTIVE,2=BUSY的状态

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
于 2020-09-21T12:48:16.200 回答
0

不确定这些年来情况是否发生了变化,但我能够使用它自动将事物设置为暂定:

X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
于 2020-04-10T19:14:35.260 回答
0

由于 RFC 2445 和 5545 都不支持 OOO 和 Tentative 状态,您可以使用属性 X-MICROSOFT-CDO-INTENDEDSTATUS:https://msdn.microsoft.com/en-us/library/ee203636(v=exchg. 80).aspx

于 2016-05-05T01:48:50.343 回答