邮件、日历、联系人和任务 REST API(版本 2.0)的资源参考

适用于:Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

本文介绍的 REST API 实体、属性、复杂类型、枚举和 OData 查询参数可用于 Outlook 邮件日历联系人任务 API,以便访问 Office 365、Hotmail.com、Live.com、MSN.com、Outlook.com 和 Passport.com。

备注

为简便起见,本文的其余部分使用 Outlook.com 来指代这些 Microsoft 帐户域。

有关 Outlook REST API 所有子集的更多信息,请参阅使用 Outlook REST API

对 API 的 2.0 版不感兴趣? 在左侧的目录中,转到 Office 365 REST API 参考部分,然后选择所需的版本。

提示

你可以通过在 Web 浏览器中导航到 $metadata 端点(例如:https://outlook.office.com/api/v2.0/$metadata),查看邮件、日历、联系人和任务实体数据模型的完整元数据文档。

附件

附加到事件邮件任务的一个文件或项目(联系人、事件或邮件)。 相应的 fileAttachmentitemAttachmentreferenceAttachment 资源都派生自附件资源。

类型:Microsoft.OutlookServices.Entity

属性 类型 说明 可写入? 可筛选?
ContentType 字符串 附件的 MIME 类型。
IsInline 布尔值 true UNTRANSLATED_CONTENT_START if the attachment is an inline attachment; otherwise, false. UNTRANSLATED_CONTENT_END
LastModifiedDateTime DateTimeOffset 上次修改附件的日期和时间。 日期和时间使用 ISO 8601 格式,并始终以 UTC 时间表示。

例如,2014 年 1 月 1 日午夜 UTC 将形如:'2014-01-01T00:00:00Z'
名称 字符串 附件的显示名称。 不必是实际的文件名。
大小 Int32 附件大小,以字节为单位。

日历

日历即事件容器。

类型:Microsoft.OutlookServices.Calendar

Calendar 集合在 OData 响应的 value 属性中返回日历数组。 使用 $count 以获得集合中实体的数量: .../me/calendars/$count

请参阅 Calendar操作以了解支持的操作。

属性 类型 说明 可写入? 可筛选?
CanEdit 布尔值 如果用户可以写入日历则为 true,否则为 false。对于创建此日历的用户,此属性为 true。此属性对于共享日历并且授予写入访问权限的用户同样为 true。
CanShare 布尔值 如果用户有权共享日历则为 ture,否则为 false。只有创建日历的用户才可以进行共享。
CanViewPrivateItems 布尔值 如果用户可以读取已标记为私有的日历项,则为 true,否则返回 false。
ChangeKey 字符串 识别日历对象的版本。 每次日历发生变化时,ChangeKey 都会更改。 它使得 Exchange 能将更改应用于正确版本的对象。
颜色 CalendarColor 在 UI 中指定将该日历与其他日历区分开来的颜色主题。属性值有:LightBlue=0、LightGreen=1、LightOrange=2、LightGray=3、LightYellow=4、LightTeal=5、LightPink=6、LightBrown=7、LightRed=8、MaxColor=9、Auto=-1
Id 字符串 日历的唯一标识符。
名称 字符串 日历名称。
负责人 EmailAddress 如果已设置,则表示创建或添加日历的用户。 对于用户创建或添加的日历,Owner 属性设置为用户。 对于与用户共享的日历,Owner 属性设置为与用户共享该日历的人员。
CalendarView 集合 (Event) 日历的日历视图。 这是一个导航属性。
事件 集合 (Event) 日历中的事件。 这是一个导航属性。
MultiValueExtendedProperties 集合 MultiValueLegacyExtendedProperty 类型的多值扩展属性的集合。 这是一个导航属性。

了解更多有关扩展属性的详细信息。
SingleValueExtendedProperties 集合 SingleValueLegacyExtendedProperty 类型单值扩展属性的集合。 这是一个导航属性。

了解更多有关扩展属性的详细信息。

CalendarGroup

一组日历。

备注

Outlook.com 仅支持可通过 ../me/calendars 快捷方式访问的默认日历组。 您无法删除该日历组。

类型:Microsoft.OutlookServices.CalendarGroup

CalendarGroup 集合返回 OData 响应中 value 属性的一组日历组。 使用 $count 以获得集合中实体的数量: .../me/calendargroups/$count

请参阅 CalendarGroup 操作以了解支持的操作。

属性 类型 说明 可写入? 可筛选?
名称 字符串 组名称。
ChangeKey 字符串 标识日历组的版本。 每次日历组发生变化时,ChangeKey 都会更改。 它使得 Exchange 能将更改应用于正确版本的对象。
ClassId 字符串 类标识符。
Id 字符串 日历组的唯一标识符。
日历 集合 (Calendar) 日历组中的日历。 这是一个导航属性。

联系人

联系人是 Outlook 中的一个项目,让用户组织和保存与他们通信的人员和组织的信息。 联系人包含在联系人文件夹中。

类型:Microsoft.OutlookServices.Contact

Contact 集合返回 OData 响应中 value 属性的联系人数组。 使用 $count 以获得集合中实体的数量: .../me/contacts/$count

请参阅 Contact 操作以了解支持的操作。

属性 类型 说明 可写入? 可筛选?
AssistantName 字符串 联系人助理的姓名。
Birthday datetimeoffset 联系人的生日。
BusinessAddress PhysicalAddress 联系人的公司地址。
BusinessHomePage 字符串 联系人的公司主页。
BusinessPhones 集合(字符串) 联系人的公司电话号码。
类别 集合(字符串) 与联系人关联的类别。
ChangeKey 字符串 标识联系人的版本。 每次联系人发生变化时,ChangeKey 都会更改。 它使得 Exchange 能将更改应用于正确版本的对象。
Children 集合(字符串) 联系人子女的姓名。
CompanyName 字符串 联系人所在公司的名称。
Department 字符串 联系人所在的部门。
CreatedDateTime datetimeoffset 联系人的创建时间。
LastModifiedDateTime datetimeoffset 联系人的修改时间。
DisplayName 字符串 联系人的显示名称。
EmailAddresses 集合 (EmailAddress) 联系人的电子邮件地址。
扩展 集合 (Extension) 为联系人定义的开放类型的数据扩展插件集合。 这是一个导航属性。
FileAs 字符串 联系人备案的姓名。
Generation 字符串 联系人所属的代。
GivenName 字符串 联系人的名。
HomeAddress PhysicalAddress 联系人的住宅地址。
HomePhones 集合(字符串) 联系人的住宅电话号码。
Id 字符串 联系人的唯一标识符。
ImAddresses 集合(字符串) 联系人的即时消息 (IM) 地址。
Initials 字符串 联系人的姓名缩写。
JobTitle 字符串 联系人的职务。
Manager 字符串 联系人经理的姓名。
MiddleName 字符串 联系人的中间名。
MobilePhone1 字符串 联系人的移动电话号码。
NickName 字符串 联系人的昵称。
OfficeLocation 字符串 联系人的办公室位置。
OtherAddress PhysicalAddress 联系人的其他地址。
ParentFolderId 字符串 联系人的父文件夹 ID。
PersonalNotes 字符串 有关联系人的用户备注。
Profession 字符串 联系人的职业。
SpouseName 字符串 联系人配偶的姓名。
Surname 字符串 联系人的姓氏。
标题 字符串 联系人的职位。
YomiCompanyName 字符串 联系人的注音日文公司名称。
YomiGivenName 字符串 联系人的注音日文名字。
YomiSurname 字符串 联系人的注音日文姓氏。

导航属性 MultiValueExtendedPropertiesSingleValueExtendedProperties 也可用于此资源,以表示为资源实例定义的各种类型扩展属性集合。 有关更多信息,请参阅 扩展属性 REST API

ContactFolder

包含联系人的文件夹。

类型: Microsoft.OutlookServices.ContactFolder

ContactFolder 集合在 OData 响应的 value 属性中返回联系人文件夹数组。 使用 $count 以获得集合中实体的数量: .../me/contactfolders/$count

请参阅 ContactFolder 操作以了解支持的操作。

属性 类型 说明 可写入? 可筛选?
ChildFolders 集合 (ContactFolder) 文件夹中的子文件夹的集合。 这是一个导航属性。
联系人 集合 (Contact) 文件夹中的联系人。 这是一个导航属性。
DisplayName 字符串 文件夹的显示名称。
Id 字符串 联系人文件夹的唯一标识符。
ParentFolderId 字符串 文件夹的父文件夹 ID。
MultiValueExtendedProperties 集合 MultiValueLegacyExtendedProperty 类型的多值扩展属性的集合。 这是一个导航属性。

了解更多有关扩展属性的详细信息。
SingleValueExtendedProperties 集合 SingleValueLegacyExtendedProperty 类型单值扩展属性的集合。 这是一个导航属性。

了解更多有关扩展属性的详细信息。

Event

日历中的事件。

类型:Microsoft.OutlookServices.Event

一个 Event 集合在 OData 响应的 value 属性中返回事件的数组。 使用 $count 以获得集合中实体的数量: .../me/events/$count

请参阅 Event 操作以了解支持的操作。

属性 类型 说明 可写入? 可筛选?
附件 集合 (Attachment) 事件的 FileAttachmentItemAttachmentReferenceAttachment 附件的集合。 这是一个导航属性。
Attendees 集合 (Attendee) 事件的与会者集合。
Body ItemBody 与事件相关联的邮件正文。
BodyPreview 字符串 与事件相关联的邮件预览。
日历 日历 包含事件的日历。 这是一个导航属性。
类别 集合(字符串) 与事件相关联的类别。
ChangeKey 字符串 标识 event 对象的版本。每次事件更改时,ChangeKey 也将更改。这样,Exchange 可以将更改应用于该对象的正确版本。
CreatedDateTime datetimeoffset 事件创建的日期和时间。
LastModifiedDateTime datetimeoffset 事件上次修改的日期和时间。
End DateTimeTimeZone 事件的结束时间。
扩展 集合 (Extension) 为事件定义的开放类型的数据扩展插件集合。 这是一个导航属性。
HasAttachments boolean 如果事件包含附件,则设置为 true。
Id 字符串 事件的唯一标识符。
Importance Importance 事件的重要性:LowNormalHigh
Instances 集合 (Event) 事件的实例。 这是一个导航属性。
iCalUID 字符串 由不同日历间的所有事件实例共享的唯一标识符。
IsAllDay boolean 如果事件持续一整天,则设置为 true。 调整此属性还需要调整 StartEnd 事件的属性。
IsCancelled boolean 如果事件已取消,则设置为 true。
IsOrganizer boolean 如果邮件发件人也是组织者,则设置为 true。
IsReminderOn 布尔值 如果设置警报以提醒用户有事件,则设置为 true。
Location Location 事件的位置。
OnlineMeetingUrl 字符串 在线会议的 URL。
Organizer Recipient 事件的组织者。
OriginalEndTimeZone 字符串 创建事件时设置的结束时区。 参见 DateTimeTimeZone 了解有效时区的列表。
OriginalStartTimeZone 字符串 创建事件时设置的开始时区。 参见 DateTimeTimeZone 了解有效时区的列表。
定期 PatternedRecurrence 事件的定期模式。
ReminderMinutesBeforeStart Int32 事件开始时间(即提醒警报发生时间)之前的分钟数。
ResponseRequested boolean 如果发件人希望接收事件被接受或拒绝时的响应,则设置为 true。
ResponseStatus ResponseStatus 指示在事件消息的响应中发送的响应类型。
Sensitivity Sensitivity 指示事件的隐私级别:正常 = 0,个人 = 1,隐私 = 2,机密 = 3。
SeriesMasterId 字符串 分配给项目的类别。
ShowAs FreeBusyStatus 要显示的状态:空闲 = 0,暂定 = 1,忙碌 = 2,Oof = 3,WorkingElsewhere = 4,未知 = -1。
开始 DateTimeTimeZone 事件的开始时间。
类型 EventType 事件类型:SingleInstance = 0,Occurrence = 1,Exception = 2,SeriesMaster = 3。
WebLink 字符串 要在 Outlook Web App 中打开事件的 URL。

如果你通过 Outlook Web App 登录邮箱,该事件将在浏览器中打开。如果尚未使用浏览器登录,系统将提示你登录。

可以从 iFrame 中访问此 URL。

导航属性 MultiValueExtendedPropertiesSingleValueExtendedProperties 也可用于此资源,以表示为资源实例定义的各种类型扩展属性集合。 有关更多信息,请参阅 扩展属性 REST API

EventMessage

消息表示会议请求、会议取消消息、会议接受消息、会议暂时接受消息或会议谢绝消息。

基本类型:Message

EventMessage 实例通常位于其收到的收件箱文件夹中,作为活动组织者创建会议或与会者响应会议请求的结果。 可以采用与处理 Message 相同的方式来处理事件消息,但存在一些细微的差异,具体如下表所述。

操作/动词 权限 说明
创建事件消息 (POST) 不允许。 将产生一个 400 响应代码。
更新事件消息 (PATCH) Mail.Write 你可以更新以下属性:From、Sender、ToRecipients、CcRecipients、BccRecipients、ReplyTo、IsDeliveryReceiptRequested、IsReadReceiptRequested、IsDraft、IsRead、Subject、Body、Importance 和 Categories。
删除事件消息 (DELETE) Mail.Write 与针对 Message 的操作相同。
移动事件消息 (POST) Mail.Write 与针对 Message 的操作相同。
复制事件消息 (POST) Mail.Write 与针对 Message 的操作相同。
创建答复消息草稿 (POST) Mail.Write 与针对 Message 的操作相同。
创建全部答复信息草稿 (POST) Mail.Write 与针对 Message 的操作相同。
创建一个答复 (POST) Mail.Write 与针对 Message 的操作相同。
创建一个全部答复 (POST) Mail.Write 与针对 Message 的操作相同。
发送一个现有事件消息 (POST) Mail.Write 你只能发送 IsDraft 属性值为 true 的事件消息。 消息副本保存在“已发送邮件”文件夹中。
创建转发事件消息草稿 Mail.Write 与针对 Message 的操作相同。
转发事件消息 Mail.Write 与针对 Message 的操作相同。

一个 EventMessage 实例包含基本类型Message 的属性以及下表中的属性。

属性 类型 说明 可写入? 可筛选?
Event Event 与事件消息关联的事件。 对于与会者或会议室资源,假定已将日历助理设为在会议请求事件消息到达时自动更新包含事件的日历。 这是一个导航属性。
MeetingMessageType MeetingMessageType 事件消息的类型:None= 0,MeetingRequest = 1,MeetingCancelled = 2,MeetingAccepted = 3,MeetingTentativelyAccepted = 4,MeetingDeclined = 5

EventMessageRequest(预览)

这个功能目前在 beta 版中可用。 要了解详细信息,请在左侧的目录中转到 Office 365 REST API 参考部分,并选择 beta

扩展属性

你可以在一个实体上创建一个自定义属性 MultiValueLegacyExtendedPropertySingleValueLegacyExtendedProperty,具体取决于为该属性预设的值。

MultiValueLegacyExtendedProperty

一个可以包含多个值集合的扩展属性。

类型:Microsoft.OutlookServices.MultiValueLegacyExtendedProperty

属性 类型 说明 可写入? 可筛选?
集合(字符串) 属性值的集合。
PropertyId 字符串 属性 ID。 这用于识别属性。

SingleValueLegacyExtendedProperty

包含单个值的扩展属性。

类型:Microsoft.OutlookServices.SingleValueLegacyExtendedProperty

属性 类型 说明 可写入? 可筛选?
字符串 属性值。
PropertyId 字符串 属性 ID。 这用于识别属性。

创建扩展属性时,有多种方式可以指定 PropertyId 。 有关详细信息,请参见 PropertyId Formats

有关可使用的相关操作,请参阅扩展属性 REST API 参考

FileAttachment

附加到邮件、事件或任务的文件(例如文本文件或 Word 文档)。 该 ContentBytes 属性包含文件的 base64 编码内容。 派生自 Attachment 实体。

类型:Microsoft.OutlookServices.FileAttachment

基本类型:Microsoft.OutlookServices.Attachment

属性 类型 说明 可写入?
ContentBytes 二进制 文件的二进制内容。
ContentId 字符串 获取 Exchange 存储中的附件 ID。
ContentLocation 字符串 对应于附件内容所在位置的统一资源标识符 (URI)。
ContentType 字符串 附件的内容类型。
LastModifiedDateTime datetimeoffset 上次修改附件的日期和时间。
Id 字符串 附件 ID。
IsInline boolean 如果是内嵌附件则设置为 true。
名称 字符串 表示显示在表示嵌入的附件的图标下方的文本的名称。该名称不必是实际的文件名。
大小 Int32 附件大小,以字节为单位。

Folder / MailFolder

备注

在 v2.0 中,以前称为 Folder 的实体和类型已改名为 MailFolder

用户邮箱中的文件夹,例如收件箱、草稿箱和已发送邮件。 文件夹可以包含邮件和其他文件夹。

类型:Microsoft.OutlookServices.MailFolder

MailFolders 集合在 OData 响应的 value 属性中返回文件夹数组。 使用 $count 以获得集合中实体的数量: .../me/folders/$count

请参阅 Folder 操作以了解支持的操作。

属性 类型 说明 可写入? 可筛选?
ChildFolderCount Int32 文件夹中的文件夹数量。
ChildFolders 集合 (MailFolder) 文件夹中的子文件夹的集合。 这是一个导航属性。
DisplayName 字符串 文件夹的显示名称。
Id 字符串 该文件夹的唯一标识符。 你可以使用以下知名名称访问相应的文件夹:收件箱草稿已发送邮件已删除邮件
邮件 集合 (Message) 文件夹中的邮件集合。 这是一个导航属性。
ParentFolderId 字符串 该文件的父文件夹的唯一标识符。
TotalItemCount Int32 文件夹中的项目数量。
UnreadItemCount Int32 文件夹中标记为未读项的数量。
MultiValueExtendedProperties 集合 MultiValueLegacyExtendedProperty 类型的多值扩展属性的集合。 这是一个导航属性。

了解更多有关扩展属性的详细信息。
SingleValueExtendedProperties 集合 SingleValueLegacyExtendedProperty 类型单值扩展属性的集合。 这是一个导航属性。

了解更多有关扩展属性的详细信息。

有效的访问项计数

文件夹的 TotalItemCountUnreadItemCount 属性允许你方便地计算文件夹中读取项目的数量。 它们让你避免像下面这样会引起严重延迟的查询:

https://outlook.office.com/api/v2.0/me/mailfolders/inbox/messages?$count=true&$filter=isread%20eq%20false

Outlook 中的 Folders 可包含多个类型的项,例如,收件箱可以包含不同于邮件项的会议请求项。 TotalItemCountUnreadItemCount 会计入文件夹中的项目,而无论项目的类型如何。

InferenceClassification

用户邮件分类,确保仅关注对用户更相关或更重要的邮件。

类型: Microsoft.OutlookServices.InferenceClassification

属性 类型 说明 可写入?
覆盖 集合 (InferenceClassificationOverride) 一组覆盖,用户总是按特定方式对来自特定发件人的邮件进行分类,该操作由 InferenceClassificationType 提供支持。 这是一个导航属性。

InferenceClassificationOverride

表示来自特定发件人的传入邮件始终应如何分类的用户的替代。

类型: ** Microsoft.OutlookServices.InferenceClassificationOverride**

属性 类型 说明 可写入?
ClassifyAs InferenceClassificationType 指定来自特定发件人的传入邮件始终应如何分类。 重点=0,其他=1。
Id 字符串 替代的唯一标识符。
SenderEmailAddress EmailAddress 为其创建替代的发件人电子邮件地址。

ItemAttachment

与另一个邮件、事件或任务相关的邮件、联系人或事件。 派生自 Attachment 实体。

类型:Microsoft.OutlookServices.ItemAttachment

基本类型:Microsoft.OutlookServices.Attachment

属性 类型 说明 可写入?
ContentType 字符串 附件的内容类型。
LastModifiedDateTime datetimeoffset 上次修改附件的时间和日期。
Id 字符串 附件 ID。
Item Item 附加的消息或事件。导航属性。
IsInline boolean 如果附件是内联的(例如嵌入到项目正文中的图像),请设置为 true。
名称 字符串 附件的显示名称。
大小 Int32 附件大小,以字节为单位。

Mention(预览)

此功能目前只在 beta 版中可用。 要了解详细信息,请在左侧的目录中转到 Office 365 REST API 参考部分,并选择 beta

邮件

邮箱文件夹中的邮件。

类型:Microsoft.OutlookServices.Message

Message 集合在 OData 响应的 value 属性中返回邮件数组。 使用 $count 以获得集合中实体的数量: .../me/messages/$count

请参阅 Message 操作以了解支持的操作。

属性 类型 说明 可写入? 可筛选? 可搜索?
附件 集合 (Attachment) 邮件的 fileAttachmentitemAttachment 附件。 这是一个导航属性。
BccRecipients 集合 (Recipient) 邮件的秘密抄送收件人。
Body ItemBody 邮件的正文。 默认
BodyPreview 字符串 邮件正文内容的前 255 个字符。
类别 集合(字符串) 与邮件关联的类别。
CcRecipients 集合 (Recipient) 邮件的抄送收件人。
ChangeKey 字符串 邮件的版本。
ConversationId 字符串 电子邮件所属的对话的 ID。
CreatedDateTime datetimeoffset 创建邮件的日期和时间。
扩展 集合 (Extension) 为邮件定义的开放类型的数据扩展插件集合。 这是一个导航属性。
From Recipient 邮箱所有者和邮件发件人。
HasAttachments boolean 指示邮件是否包含附件。
Id 字符串 邮件的唯一标识符。
Importance Importance 邮件的重要性:低 = 0,正常 = 1,高 = 2。
InferenceClassification InferenceClassificationType 根据推导出的相关性或重要性或显式替代,对用户邮件的分类。
IsDeliveryReceiptRequested boolean 指示是否需要发送邮件已读回执。
IsDraft boolean 指示邮件是否为草稿。如果尚未发送,则此邮件是一封草稿。
IsRead boolean 指示是否已阅读该邮件。
IsReadReceiptRequested boolean 指示是否需要发送邮件已读回执。
LastModifiedDateTime datetimeoffset 上次更改邮件的日期和时间。
MultiValueExtendedProperties 集合 MultiValueLegacyExtendedProperty 类型的多值扩展属性的集合。 这是一个导航属性。

了解更多有关扩展属性的详细信息。
ParentFolderId 字符串 该邮件的父文件夹的唯一标识符。
ReceivedDateTime datetimeoffset 收到邮件的日期和时间。
ReplyTo 集合 (Recipient) 在答复时使用的电子邮件地址。
Sender Recipient 实际用于生成邮件的帐户。 默认设置
SingleValueExtendedProperties 集合 SingleValueLegacyExtendedProperty 类型单值扩展属性的集合。 这是一个导航属性。

了解更多有关扩展属性的详细信息。
SentDateTime datetimeoffset 发送邮件的日期和时间。
Subject 字符串 邮件的主题。 默认设置
ToRecipients 集合 (Recipient) 邮件的收件人
UniqueBody ItemBody 对话专用的邮件正文部分。
WebLink 字符串 要在 Outlook Web App 中打开邮件的 URL。

可以将 ispopout 参数附加到此 URL 的末尾以更改邮件的显示方式。如果 ispopout 不存在或设置为 1,则邮件显示在弹出窗口中。如果 ispopout 设置为 0,则浏览器将在 Outlook Web App 审阅窗格中显示邮件。

如果通过 Outlook Web App 登录邮箱,该邮件将在浏览器中打开。如果尚未使用浏览器登录,系统将提示你登录。

可以从 iFrame 中访问此 URL。

从 Body 属性中删除脚本

邮件正文可以是 HTML 或文本。 如果正文是 HTML 格式,默认情况下,在 REST 响应中返回正文内容之前,将删除嵌入 Body 属性中的任意具有潜在不安全性的 HTML(例如,JavaScript)。

要获取整个原始 HTML 内容,请包含以下 HTTP 请求标头:

Prefer: outlook.allow-unsafe-html

设置 From 和 Sender 属性

撰写邮件时,在大多数情况下,FromSender 属性表示同一个已登录用户,除非其中一个属性已更新,如以下情况中所述:

  • 如果 Exchange 管理员已将邮箱的 ** SendAs** 权限分配给其他用户,则可更改此 ** From** 属性。 通过在 Azure 管理门户中选择邮箱所有者的邮箱权限,或通过使用 Exchange 管理中心Windows PowerShell Add-ADPermission cmdlet,管理员可执行此操作。 然后,可以通过编程的方式将From 属性设置为拥有邮箱的 SendAs 权限的其中一个用户。

  • 如果邮箱所有者已委派一个或多个用户能够从该邮箱发送邮件,则可以更改此 Sender 属性。 邮箱所有者可以在 Outlook 中进行委派。 当受托人代表邮箱所有者发送邮件时,Sender 属性已设置为受托人的帐户,但 From 属性仍然是邮箱所有者。 你可以通过编程的方式将 Sender 属性设置为给已经获得该邮箱的委托权的用户。

MessageRule(预览)

这个功能目前在 beta 版中可用。 要了解详细信息,请在左侧的目录中转到 Office 365 REST API 参考部分,并选择 beta

OutlookCategory(预览)

这个功能目前在 beta 版中可用。 要了解详细信息,请在左侧的目录中转到 Office 365 REST API 参考部分,并选择 beta

Photo

类型:Microsoft.OutlookServices.Photo

从 Exchange Online 访问的照片。 它是二进制数据,而不是 base-64 编码数据。

属性 类型 说明 可写入? 可筛选?
高度 int 照片的高度
Id 字符串 照片的唯一标识符。
宽度 int 照片的宽度。

ReferenceAttachment

类型:Microsoft.OutlookServices.ReferenceAttachment

基本类型:Microsoft.OutlookServices.Attachment

指向文件或文件夹的链接,附加到消息、事件或任务。 文件或文件夹的可能位置包括 OneDrive、OneDrive for Business 和 DropBox。 派生自 Attachment 实体。

属性 类型 说明 可写入? 可筛选?
ContentType 字符串 附件的 MIME 类型。 可选。
Id 字符串 引用附件的唯一标识符。
IsFolder 布尔值 指定附件是否是指向文件夹的链接。 如果 SourceUrl 是文件夹的链接,必须将其设置为 true。 可选。
IsInline 布尔值 true UNTRANSLATED_CONTENT_START if the attachment is an inline attachment; otherwise, false. UNTRANSLATED_CONTENT_END 可选。
LastModifiedDateTime DateTimeOffset 上次修改附件的日期和时间。 日期和时间使用 ISO 8601 格式,并始终以 UTC 时间表示。 例如,2014 年 1 月 1 日午夜 UTC 将形如:'2014-01-01T00:00:00Z'。 可选。
名称 字符串 附件的显示名称。 不必是实际的文件名。 必需。
权限 ReferenceAttachmentPermissions 指定对 ProviderType 类型提供程序的附件所授予的权限。 可取值为:OtherViewEditAnonymousViewAnonymousEditOrganizationViewOrganizationEdit。 可选。
PreviewUrl 字符串 仅适用于图像的参考附件 - URL 可获取图像预览。 只有当 ** SourceUrl** 识别一个图像文件时才使用 ** ThumbnailUrl** 和 ** PreviewUrl**。 可选。
ProviderType ReferenceAttachmentProviders 支持此 ContentType 附件的提供程序类型。 可取值为:OtherOneDriveBusinessOneDriveConsumerDropbox。 可选。
大小 Int32 附件大小,以字节为单位。 可选。
SourceUrl 字符串 用于获取附件内容的 URL。 如果这是文件夹的 URL,为了使文件夹在 Outlook 或 Outlook 网页版中正确显示,请将 IsFolder 设置为 true。 必需。
ThumbnailUrl 字符串 仅适用于图像的参考附件 - URL 可获取图像缩略图。 只有当 ** SourceUrl** 识别一个图像文件时才使用 ** ThumbnailUrl** 和 ** PreviewUrl**。 可选。

任务

类型:Microsoft.OutlookServices.Task

一个可以跟踪工作项目的 Outlook 项目。 您可以使用任务来跟踪开始日期、截止日和实际完成日期和时间,其进度或状态,是否反复出现以及是否需要提醒。

对于以下与日期相关的每个属性:

  • CompletedDateTime
  • CreatedDateTime
  • DueDateTime
  • LastModifiedDateTime
  • ReminderDateTime
  • StartDateTime

如果该属性已设置,则默认情况下,任务 REST API 会在 REST 响应中以 UTC 形式返回。 了解有关设置 StartDateTime 和 DueDateTime,以及在自定义时区中返回与日期相关的属性的更多信息。

属性 类型 说明 可写入? 可筛选?
AssignedTo 字符串 已分配任务的人员的姓名。
附件 集合 (Attachment) 任务的 FileAttachmentItemAttachment 附件集合。 这是一个导航属性。
Body ItemBody 通常包含有关任务信息的任务主体。 请注意,只支持 HTML 类型。
类别 集合(字符串) 与任务关联的类别。
ChangeKey 字符串 任务的版本。
CompletedDateTime DateTimeTimeZone 指定时区中任务完成的日期。
CreatedDateTime DateTimeOffset 任务的创建日期和时间。 默认情况下,它使用 UTC。 您可以在请求标头中提供自定义时区。
DueDateTime DateTimeTimeZone 指定时区中任务将完成的日期。
HasAttachments boolean 如果任务具有附件,则设置为 true。
Id 字符串 任务的唯一标识符。
Importance Importance 事件的重要性:LowNormalHigh
IsReminderOn boolean 如果设置警报以提醒用户有任务,则设置为 true。
LastModifiedDateTime DateTimeOffset 上次修改任务的日期和时间。 默认情况下,它使用 UTC。 您可以在请求标头中提供自定义时区。
负责人 字符串 任务创建者的姓名。
ParentFolderId 字符串 该任务的父文件夹的唯一标识符。
定期 PatternedRecurrence 任务的定期模式。
ReminderDateTime DateTimeTimeZone 将要发生的任务的提醒日期和时间。
Sensitivity Sensitivity 指示事件的隐私级别:NormalPersonalPrivateConfidential
StartDateTime DateTimeTimeZone 指定时区中任务将开始的日期。
状态 TaskStatus 指示任务的状态或进度:NotStartedInProgressCompletedWaitingOnOthersDeferred
Subject 字符串 任务的简要说明或标题。

TaskFolder

类型:Microsoft.OutlookServices.TaskFolder

包含任务的文件夹。 在 Outlook 中,默认任务组 My Tasks 包含一个用于用户邮箱的默认任务文件夹 Tasks。 你不能重命名或删除这些默认任务组和文件夹,但可以创建其他任务组和任务文件夹。

属性 类型 说明 可写入? 可筛选?
ChangeKey 字符串 任务文件夹的版本。
Id 字符串 任务文件夹的唯一标识符。
IsDefaultFolder 布尔值 如果该文件夹为默认任务文件夹,则为 True。
名称 字符串 任务文件夹的名称。
ParentGroupKey Edm.Guid 任务文件夹的父组的唯一 GUID 标识符。
任务 集合 (Task) 此任务文件夹中的任务。 这是一个导航属性。

TaskGroup

类型:Microsoft.OutlookServices.TaskGroup

一组包含任务的文件夹。 在 Outlook 中,有一个你不能重命名或删除的默认任务组 My Tasks。 但是,你可以创建其他任务组。

属性 类型 说明 可写入? 可筛选?
ChangeKey 字符串 任务组的版本。
GroupKey Edm.Guid 该任务组的唯一 GUID 标识符。
Id 字符串 任务组的唯一标识符。
IsDefaultGroup 布尔值 如果任务组为默认任务组,则为 True。
名称 字符串 任务组的名称。
TaskFolders 集合 (TaskFolder) 此任务组中的任务文件夹。 这是一个导航属性。

用户

系统中的用户。 该 Me 端点作为快捷方式提供,用于通过 SMTP 地址( users/sadie@contoso.com)指定当前用户。

类型: Microsoft.OutlookServices.User

Users 集合在 OData 响应的 value 属性中返回用户数组。 使用 $count 以获得集合中实体的数量: .../me/users/$count

备注

User 实体包含频繁增强的许多属性和关系(导航属性)。 以下部分仅介绍一个子集。 要了解最新信息,请参阅适用于你的版本的相应** 元数据文件**中的 User 定义。

属性 类型 说明 可写入? 可筛选?
别名 字符串 用户的别名。 通常是用户的 SMTP 地址。
日历 日历 用户的主日历。 这是一个导航属性。
CalendarGroups 集合 (CalendarGroup) 用户的日历组。 这是一个导航属性。
日历 集合 (Calendar) 用户的日历。 这是一个导航属性。
CalendarView 集合 (Event) 日历的日历视图。 这是一个导航属性。
ContactFolders 集合 (ContactFolder) 用户的联系人文件夹。 这是一个导航属性。
联系人 集合 (Contact) 用户的联系人。 这是一个导航属性。
DisplayName 字符串 用户的显示名称。
事件 集合 (Event) 用户的事件。 默认为在默认日历下显示事件。 这是一个导航属性。
Id 字符串 用户的唯一标识符。
InferenceClassification InferenceClassification 基于显式指定的用户邮件的相关性分类,可以替代推断的相关性或重要性。 这是一个导航属性。
MailboxGuid guid 分配给用户邮箱的 GUID。
MailboxSettings MailboxSettings 已登录用户的主邮箱的设置。
MailFolders 集合 (MailFolder) 邮箱中的文件夹。 这是一个导航属性。
邮件 集合 (Message) 邮箱或文件夹中的邮件。 这是一个导航属性。
RootFolder MailFolder 用户邮箱的根文件夹。 这是一个导航属性。

复杂类型

Attendee

会议与会者。

类型:Microsoft.OutlookServices.Recipient

属性 类型 说明
状态 ResponseStatus 响应(无、接受、拒绝等)和时间。
类型 AttendeeType 与会者的类型。 可取值为:RequiredOptionalResource

AttendeeAvailability

与会者的类型和忙/闲状态。

类型: Microsoft.OutlookServices.AttendeeAvailability

属性 类型 说明
Attendee AttendeeBase 与会者的类型,即,是个人还是资源。
可用性 FreeBusyStatus 与会者的忙/闲状态。

AttendeeBase

与会者类型。

类型:Microsoft.OutlookServices.Recipient

属性 类型 说明
类型 AttendeeType 与会者的类型。 可取值为:RequiredOptionalResource注意:如果与会者是一个人,FindMeetingTimes 始终认为这个人是 Required 类型。

AutomaticRepliesSetting

自动通知发件人有传入电子邮件(包含一封来自已登录用户的邮件)的配置设置。例如,通知已登录用户无法回复电子邮件的自动答复。

类型: Microsoft.OutlookServices.AutomaticRepliesSetting

属性 类型 说明
ExternalAudience ExternalAudienceScope 如果 StatusAlwaysEnabledScheduled,则表示将接收 ExternalReplyMessage 的已登录用户组织外部的受众组。 值为:None = 0,ContactsOnly = 1 或 All = 2。
ExternalReplyMessage 字符串 如果 StatusAlwaysEnabledScheduled,则表示发送给指定外部受众的自动答复。
InternalReplyMessage 字符串 如果 StatusAlwaysEnabledScheduled,则表示发送给已登录用户组织内部受众的自动答复。
ScheduledEndDateTime DateTimeTimeZone 如果 Status 设置为 Scheduled,则自动答复的日期和时间设置为结束。 你可以在 Get 操作中使用 Prefer: outlook.timezone HTTP 标头来设置时区
ScheduledStartDateTime DateTimeTimeZone 如果 Status 设置为 Scheduled,则自动答复的日期和时间设置为开始。 你可以在 Get 操作中使用 Prefer: outlook.timezone HTTP 标头来设置时区
状态 AutomaticRepliesStatus 自动答复的配置状态:Disabled = 0,AlwaysEnabled = 1,Scheduled = 2。

DateTimeTimeZone

介绍某个时间点的日期、时间和时区。

属性 类型 说明
日期/时间 日期/时间 按照 ISO 8601 格式,以日期和时间组合形式表示的单个时间点 (<date>T<time>)。
TimeZone 字符串 以下时区名称之一。

TimeZone 属性可以设置为 Windows 支持的任意时区,以及以下时区名称。 有关更多信息,请参阅 TimeZone

Etc/GMT+12

Etc/GMT+11

太平洋/火奴鲁鲁

美洲/安克雷奇

美洲/圣伊莎贝尔

美洲/洛杉矶

美洲/菲尼克斯

美洲/奇瓦瓦

美洲/丹佛

美洲/危地马拉

美洲/芝加哥

美洲/墨西哥城

美洲/里贾纳

美洲/波哥大

美洲/纽约

美洲/印第安纳/印第安纳波利斯

美洲/加拉加斯

美洲/亚松森

美洲/哈利法克斯

美洲/库亚巴

美洲/拉巴斯

美洲/圣地亚哥

美洲/圣约翰斯

美洲/圣保罗

美洲/阿根廷/布宜诺斯艾利斯

美洲/卡宴

美洲/戈特霍布

美洲/蒙得维的亚

美洲/巴伊亚

Etc/GMT+2

大西洋/亚速尔群岛

大西洋/佛得角

非洲/卡萨布兰卡

Etc/GMT

欧洲/伦敦

大西洋/雷克雅未克

欧洲/柏林

欧洲/布达佩斯

欧洲/巴黎

欧洲/华沙

非洲/拉各斯

非洲/温得和克

欧洲/布加勒斯特

亚洲/贝鲁特

非洲/开罗

亚洲/大马士革

非洲/约翰内斯堡

欧洲/基辅

欧洲/伊斯坦布尔

亚洲/耶路撒冷

亚洲/安曼

亚洲/巴格达

欧洲/加里宁格勒

亚洲/利雅得

非洲/内罗毕

亚洲/德黑兰

亚洲/迪拜

亚洲/巴库

欧洲/莫斯科

印度洋/毛里求斯

亚洲/第比利斯

亚洲/埃里温

亚洲/喀布尔

亚洲/卡拉奇

亚洲/塔什干

亚洲/加尔各答

亚洲/科伦坡

亚洲/加德满都

亚洲/阿拉木图

亚洲/达卡

亚洲/叶卡捷琳堡

亚洲/仰光

亚洲/曼谷

亚洲/新西伯利亚

亚洲/上海

亚洲/克拉斯诺亚尔斯克

亚洲/新加坡

澳大利亚/珀斯

亚洲/台北

亚洲/乌兰巴托

亚洲/伊尔库茨克

亚洲/东京

亚洲/首尔

澳洲/阿德莱德

澳洲/达尔文

澳洲/布里斯班

澳洲/悉尼

太平洋/莫尔斯比港

澳洲/霍巴特

亚洲/雅库茨克

太平洋/瓜达尔卡纳尔

亚洲/符拉迪沃斯托克

太平洋/奥克兰

Etc/GMT-12

太平洋/斐济

亚洲/马加丹

太平洋/汤加塔布

太平洋/阿皮亚

太平洋/圣诞岛

EmailAddress

联系人或邮件收件人的姓名和电子邮件地址。

类型: Microsoft.OutlookServices.EmailAddress

属性 类型 说明
名称 字符串 人员或实体的显示名称。
Address 字符串 人员或实体的电子邮件地址。

GeoCoordinates

地理坐标和位置的海拔高度。

类型:Microsoft.OutlookServices.GeoCoordinates

属性 类型 说明
Altitude double 位置的海拔高度。
Latitude double 位置的纬度。
Longitude double 位置的经度。
Accuracy double 提供经纬度的传感器的准确性。
AltitudeAccuracy double 提供维度的传感器的准确性。

ItemBody

邮件或事件的正文内容。

类型:Microsoft.OutlookServices.ItemBody

属性 类型 说明
ContentType BodyType 内容类型: Text = 0,HTML = 1。
Content 字符串 文本或 HTML 内容。

LocaleInfo

有关已登录用户的区域设置信息,包括首选语言和国家/地区。

类型:Microsoft.OutlookServices.LocaleInfo

属性 类型 说明
DisplayName 字符串 用自然语言表示区域设置的名称,例如 "English (United States)"。
Locale 字符串 区域设置表示形式,其中包括语言和国家/地区。 例如,"en-us"。 语言代码由 ISO 639-1 所定义的 2 个字母组成;国家/地区代码由 ISO 3166-1 alpha-2 所定义的 2 个字母组成。

Location

事件的位置。

类型:Microsoft.OutlookServices.Location

属性 类型 说明
DisplayName 字符串 与地点相关联的名称。
Address PhysicalAddress 位置的实际地址。
坐标 GeoCoordinates 地理坐标和位置的海拔高度。
LocationEmailAddress 字符串 (可选)与位置相关联的电子邮件地址。

LocationConstraint

客户端声明的会议地点条件。

类型:Microsoft.OutlookServices.LocationConstraint

属性 类型 说明
IsRequired boolean 客户端请求服务在响应中包含一个会议地点。
SuggestLocation boolean 客户端请求服务返回一个或多个会议地点建议。
Locations 集合 (LocationConstraintItem) 客户端请求的一个或多个会议地点。

LocationConstraintItem

客户端为检查每个会议地点的可用性而提出的条件以及有关该地点的其他信息。

类型:Microsoft.OutlookServices.Location

属性 类型 说明
ResolveAvailability boolean 如果设置为 true 并且指定的资源忙,FindMeetingTimes 会 查找另一空闲的资源。 如果设置为 false 并且指定的资源忙,FindMeetingTimes 返回用户缓存中排名最高的资源,而不检查其是否空闲。 默认值为 true 。

MailboxSettings

用户主邮箱的设置。

类型:Microsoft.OutlookServices.MailboxSettings

属性 类型 说明
AutomaticRepliesSetting AutomaticRepliesSetting 配置自动为传入邮件发送回复的设置。
TimeZone 字符串 用户邮箱的默认时区。
Language LocaleInfo 用户的区域设置信息,包括首选语言和国家/地区。

MeetingTimeSuggestion

会议时间建议包括会议时间、出席可能性、与会者忙/闲状态和可用会议地点等信息。

类型: Microsoft.OutlookServices.MeetingTimeSuggestion

属性 类型 说明
MeetingTimeSlot TimeSlot 建议的会议时间段。
Confidence double 表示所有与会者的出席可能性的百分比值。
OrganizerAvailability FreeBusyStatus 建议会议的会议组织者忙/闲状态:FreeTentativeBusyOofWorkingElsewhereUnknown
AttendeeAvailability 集合 (AttendeeAvailability) 显示此会议时间建议中各个与会者的忙/闲状态的数组。
Locations 集合 (Location) 指定此会议时间建议中各个会议地点的名称和地理位置的数组。
SuggestionReason 字符串 描述建议该会议时间的原因。

会议的置信度

MeetingTimeSuggestionConfidence 属性介于 0% 至 100%,并代表了根据各与会者忙闲状态而确定的与会者参与会议的可能性:

  • 对于每个与会者,在指定的会议时间段内,空闲、未知和忙碌状态对应的与会者出席可能性分别为 100%、49% 和 0%。
  • 在某一时间内会议的置信度通过对所有与会者参与会议的可能性求平均值而来。
  • 你可以使用 FindMeetingTimesMinimumAttendeePercentage 可选参数指定仅返回至少具有某个置信度的会议时间段。 例如,你可以指定 MinimumAttendeePercentage 为 80%,以便参与者在建议时间内参加会议的机会有 80% 或更高,才会提出建议。 如果你没有指定 MinimumAttendeePercentage,则 FindMeetingTimes 默认为 50%。
  • 如果有多个会议候选时间,FindMeetingTimes 操作首先将候选时间按计算置信值从高到低排序。 如果有候选时间具有相同的置信度,则该操作会按时间先后顺序排列这些候选时间。

例如,如果会议时间段建议涉及 3 位与会者,他们的忙/闲状态如下:

Attendee 忙/闲状态 出席可能性 (%)
Dana 空闲 100%
John 未知 49%
Fanny 忙碌 0%

会议时间段的置信度为与会者出席可能性的平均值,即 (100% + 49% + 0%)/3 = 49.66%。

如果你在 FindMeetingTimes 操作中将 MinimumAttendeePercentage 指定为 80%,此操作将不会在响应中返回此时间段,这是因为 49.66% < 80%。

MeetingTimeSuggestionsResult

一组会议时间建议(若有);如果没有建议,则返回原因。

类型: Microsoft.OutlookServices.MeetingTimeSuggestionsResult

属性 类型 说明
MeetingTimeSuggestions 集合 (MeetingTimeSuggestion) 一组会议时间建议。
EmptySuggestionsReason 字符串 未返回任何会议时间建议的原因。可取值为:AttendeesUnavailableLocationsUnavailableOrganizerUnavailableAttendeesUnavailableOrUnknownUnknown

不返回任何会议建议的原因

EmptySuggestionsReason 属性指定了以下原因之一来说明为何 FindMeetingTimes 操作没有返回任何会议建议。 如果 FindMeetingTimes 没有返回任何建议,该属性将为空。

原因
AttendeesUnavailable 与会者的所有忙/闲状态均已知,但没有足够的与会者达到会议置信度阈值,该值默认为 50%。
AttendeesUnavailableOrUnknown 部分或全部与会者的忙/闲状态未知,导致会议置信度下降至设定的阈值(默认为 50%)以下。如果与会者不是组织内部的,或获取忙/闲信息时出错了,与会者的忙/闲状态就会变成未知。
LocationsUnavailable LocationConstraint 参数的 IsRequired 属性被指定为必需,但在计算的时间段内尚无可用地点。
OrganizerUnavailable IsOrganizerOptional 参数为 false,但组织者在请求的时间范围内不空闲。
未知 未返回任何会议时间建议的原因未知。

PatternedRecurrence

定期模式和区域。

类型: Microsoft.OutlookServices.PatternedRecurrence

属性 类型 说明
模式 RecurrencePattern 事件发生的频率。
Range RecurrenceRange 事件的持续时间。

PhysicalAddress

联系人的实际地址。

类型:Microsoft.OutlookServices.PhysicalAddress

属性 类型 说明
Street 字符串 街道。
City 字符串 城市。
状态 字符串 省/市/自治区。
CountryOrRegion 字符串 国家或地区。它是任意格式的字符串值,例如“United States”。
PostalCode 字符串 邮政编码。

Recipient

表示事件或邮件发送或接收端的用户相关信息。

类型:Microsoft.OutlookServices.Recipient

属性 类型 说明
EmailAddress EmailAddress 收件人的电子邮件地址。

RecurrencePattern

事件发生的频率。

类型:Microsoft.OutlookServices.RecurrencePattern

属性 类型 说明
类型 RecurrencePatternType 定期模式类型:Daily = 0,Weekly = 1,AbsoluteMonthly = 2,RelativeMonthly = 3,AbsoluteYearly = 4,RelativeYearly = 5。
模式规则:
- AbsoluteYearly。 必须设置发生的 MonthDayOfMonth
- RelativeYearly。 必须设置 MonthDaysOfWeekFirstDayOfWeek index
- AbsoluteMonthly。 必须设置 DAYOFMONTH
- RelativeMonthly。 必须设置 Firstdayofweek 指数和 RecurrenceRange.NumberOfOccurrences
- Weekly。 必须设置 DaysOfWeekFirstdayofweek
- Daily。 无需额外的模式信息。
时间间隔 Int32 两次发生之间的指定定期类型的单位数量。
DayOfMonth Int32 该项目发生的日期。
Month Int32 该项目发生的月份。 这是一个介于 1 到 12 之间的数字。
DaysOfWeek 集合 (DayOfWeek) 星期几的集合:星期日= 0,星期一= 1,星期二= 2,星期三= 3,星期四= 4,星期五= 5,星期六= 6。
FirstDayOfWeek DayOfWeek 星期几:星期日= 0,星期一= 1,星期二= 2,星期三= 3,星期四= 4,星期五= 5,星期六= 6。
索引 WeekIndex 星期索引:第一= 0,第二= 1,第三= 2,第四= 3,最后= 4。

RecurrenceRange

事件的持续时间。

类型: Microsoft.OutlookServices.RecurrenceRange

属性 类型 说明
类型 RecurrenceRangeType 重复范围:EndDate = 0,NoEnd = 1,Numbered = 2。
StartDate datetimeoffset 必需:系列的开始日期。
EndDate datetimeoffset 日期绑定模式必需:该系列的结束日期。 必须在开始日期之后。
NumberOfOccurrences Int32 编号模式必需:该事件重复多少次。

ResponseStatus

会议请求的响应状态。

类型:Microsoft.OutlookServices.ResponseStatus

属性 类型 说明
响应 ResponseType 响应类型:NoneOrganizerTentativelyAcceptedAcceptedDeclinedNotResponded
Time datetimeoffset 响应返回的日期和时间。

TimeConstraint

根据活动的特定性质和开放时间段,将会议时间建议限制为某周的几个小时或几天。

类型:Microsoft.OutlookServices.TimeConstraint

属性 类型 说明
ActivityDomain ActivityDomain 可选,活动的性质: WorkPersonalUnrestrictedUnknown
Timeslots 集合 (TimeSlot) 一组时间段。

TimeSlot

时间段。

类型: Microsoft.OutlookServices.TimeSlot

属性 类型 说明
开始 DateTimeTimeZone 时间段的开始时间。
End DateTimeTimeZone 时间段的结束时间。

枚举

ActivityDomain

活动的性质。

支持的值:

  • Work
  • Personal
  • Unrestricted
  • 未知

AutomaticRepliesStatus

用户邮箱收到邮件时自动发送回复的配置状态。

支持的值:

  • AlwaysEnabled
  • Disabled
  • Scheduled

DayOfWeek

一周中的一天。

支持的值:

  • 星期日
  • 周一
  • 周二
  • 周三
  • 周四
  • 周五
  • 周六

ExternalAudienceScope

ExternalReplyMessage 发送到的外部收件人组。

支持的值:

  • 全部
  • ContactsOnly

FreeBusyStatus

指定会议的与会者的忙闲状态。

支持的值:

  • 忙碌
  • 空闲
  • Oof
  • Tentative
  • 未知
  • WorkingElsewhere

InferenceClassificationType

表示邮件的推断相关性,供用户关注。

支持的值:

  • Focused
  • 其他

ReferenceAttachmentPermissions

引用附件的文件或文件夹的访问权限。

支持的值:

  • 其他
  • 视图
  • 编辑
  • AnonymousView
  • AnonymousEdit
  • OrganizationView
  • OrganizationEdit

ReferenceAttachmentProviders

引用附件可能的文件存储提供商。

支持的值:

  • Dropbox
  • OneDriveBusiness
  • OneDriveConsumer
  • 其他

Sensitivity

指示隐私级别。

支持的值:

  • 常规
  • Personal
  • 私有
  • 机密

TaskStatus

指定任务的状态或进度。

支持的值:

  • Completed
  • 延期
  • InProgress
  • NotStarted
  • WaitingOnOthers

OData 查询参数

你可以在使用邮件、日历和联系人 API 时使用标准 OData v4.0 查询参数来筛选数据请求,并对页面结果进行排序和分页。 指定查询参数时,确保为 URI 中的特殊含义保留的特殊字符已经适当编码。

  • $search 按特定的标准搜索

  • $filter 按特定的标准筛选

  • $select 请求特定的属性

  • $orderby 对结果进行排序

  • $top 和对结果 $skip 进行分页

  • $expand 展开邮件附件和事件附件

  • $count 获得集合中实体的数量。 该参数位于 URL 路径中: .../me/calendars/$count

使用邮件、日历和联系人 API 执行的查询始终使用较浅的作用域。 只有当前文件夹中的项目会被返回。 深度搜索不受支持。

搜索请求

你可以使用 $search 参数将请求的结果限制为与搜索表达式匹配的邮件。 搜索字符串使用高级查询语法 (AQS) 表示。 结果按发送邮件的日期和时间排序。

备注

你最多可以通过 $search 请求得到 250 个结果。 只能对邮件使用 $search。 不支持搜索联系人和日历事件。

不能在搜索请求中使用 $filter$orderby。 如果你这样做,你会收到这样的错误信息。

    {
      "error":
      {
        "code":"ErrorInvalidUrlQuery",
        "message":"The query parameter 'OrderBy' is invalid."
      }
    }
属性 说明
附件 按标题搜索指定的附件。
密件抄送 搜索密件抄送字段。
Body or Content 搜索正文字段。 仅支持默认搜索。
Category 搜索类别字段。
Cc 搜索抄送字段。
From 搜索发件人字段。
Has 搜索带有附件字段。
Participants 搜索收件人抄送密件抄送字段。
接收时间 搜索接收时间字段中以 MM/DD/YYYY 表示的特定日期。
Sender 搜索发件人字段。
Subject 搜索主题字段。
To 搜索收件人字段。

您可以使用 $search 查询参数搜索常用字段而不指定属性。 默认搜索将搜索 BodySenderSubject 属性。 以下搜索将返回收件箱中三个默认属性中的任何一个包含 "pizza" 的所有邮件。

我们来看一些例子。 为了便于阅读,示例中的 URL 未经过 URL 编码;但是,如果您尝试使用这些示例,请确保在将它们发送到服务器之前对其进行 URL 编码。

要获得收件箱中在 FromSubjectBody 属性中包含单词 "Pizza" 的所有邮件,可以使用这个请求。

GET https://outlook.office.com/api/v2.0/me/messages?$search="pizza"

要获得收件箱中 Subject 属性包含单词 "Pizza" 的所有邮件,可以使用这个请求。

GET https://outlook.office.com/api/v2.0/me/messages?$search="subject:pizza"

要获得收件箱由特定人员发送的所有邮件,可以使用此请求。

GET https://outlook.office.com/api/v2.0/me/messages?$search="from:help@contoso.com"

上面的例子不包括 URL 编码,下面是经过 URL 编码并准备发送到服务器的相同示例:

GET https://outlook.office.com/api/v2.0/me/messages?$search=%22pizza%22
GET https://outlook.office.com/api/v2.0/me/messages?$search=%22subject:pizza%22
GET https://outlook.office.com/api/v2.0/me/messages?$search=%22from:help@contoso.com%22

筛选请求

你可以使用 $filter 查询参数,通过使用以下过滤器运算符来指定搜索条件。

并非所有属性都支持筛选。 只有“可筛选?”中标记为“是”的资源属性 可以使用上面对应表中的列。 如果某个属性不可筛选,则会收到一条错误消息,例如如果尝试筛选 ChangeKey 属性,将显示:

    {
      "error":
      {
        "code":"ErrorInvalidProperty",
        "message":"The property 'ChangeKey' does not support filtering."
      }
    }

如果使用不支持的筛选方法,则会收到类似于下面的错误消息,例如对Subject 属性使用 startswith 筛选方法时,将显示:****

    {
      "error":
      {
        "code":"ErrorInvalidUrlQueryFilter",
        "message":"'contains' and 'startswith' are not supported for filtering.  Use Search instead."
      }
    }
运算符 类型 示例
逻辑与(用于组合多个标准) TotalCount gt 0 and ChildFolderCount eq 0
逻辑或(用于组合多个条件) TotalCount gt 0 or ChildFolderCount eq 0
eq 等于 IsRead eq false
ne 不等于 Importance ne Microsoft.Exchange.Services.OData.Model.Importance'High'
gt 大于 ReceivedDateTime gt 2014-09-01T00:00:00Z
ge 大于或等于 LastModifiedDateTime ge 2014-09-01T00:00:00Z
lt 小于 ReceivedDateTime lt 2014-09-01T00:00:00Z
le 小于或等于 LastModifiedDateTime le 2014-09-01T00:00:00Z

使用单引号 (') 分隔筛选条件中的任何字符串值。 使用 %27 对单引号进行 URL 编码。 字符串本身不区分大小写。

我们来看一些例子。 为了便于阅读,示例中的 URL 未经过 URL 编码;但是,如果您尝试使用这些示例,请确保在将它们发送到服务器之前对其进行 URL 编码。

要获取用户默认日历中的特定日期或之后开始的所有事件,您可以筛选 Start 属性。

GET https://outlook.office.com/api/v2.0/me/events?$filter=Start/DateTime ge '2016-04-01T08:00'

要获取用户日历中具有特定主题的所有事件,可以筛选 Subject 属性。

GET https://outlook.office.com/api/v2.0/me/events?$filter=Subject eq 'Mega Charity Bash'

要在收件箱中获取所有未读邮件,可以筛选 IsRead 属性。

GET https://outlook.office.com/api/v2.0/me/messages?$filter=IsRead eq false

要获取收件箱中带有附件的所有邮件,可以筛选 HasAttachments 属性。

GET https://outlook.office.com/api/v2.0/me/messages?$filter=HasAttachments eq true

要获取收件箱中从 2014 年 9 月 1 日起收到的所有邮件,可以过滤 ReceivedDateTime 属性。

GET https://outlook.office.com/api/v2.0/me/messages?$filter=ReceivedDateTime ge 2014-09-01

要在收件箱中获取所有来自 "hr@contoso.com" 的邮件,可以筛选 Sender 属性。

GET https://outlook.office.com/api/v2.0/me/messages?$filter=From/EmailAddress/Address eq 'hr@contoso.com'

上面的例子不包括 URL 编码,下面是经过 URL 编码并准备发送到服务器的相同示例:

GET https://outlook.office.com/api/v2.0/me/events?$filter=Start/DateTime%20ge%20%272016-04-01T08:00%27
GET https://outlook.office.com/api/v2.0/me/events?$filter=Subject%20eq%20%27Mega%20Charity%20Bash%27
GET https://outlook.office.com/api/v2.0/me/messages?$filter=IsRead%20eq%20false
GET https://outlook.office.com/api/v2.0/me/messages?$filter=HasAttachments%20eq%20true
GET https://outlook.office.com/api/v2.0/me/messages?$filter=ReceivedDateTime%20ge%202014-09-01
GET https://outlook.office.com/api/v2.0/me/messages?$filter=From/EmailAddress/Address%20eq%20%27hr@contoso.com%27

选择要返回的特定属性

你可以使用 $select 查询参数以仅指定应用程序需要的属性。

备注

获取邮件、日历和联系人项目时,请始终使用 $select 排除响应有效负载中不需要的属性以保持合适的应用程序性能。 如果不包括一个 $select 参数,将返回项目的所有属性。

以下示例获取收件箱中所有邮件的 SubjectSenderReceivedDateTime 属性。

GET https://outlook.office.com/api/v2.0/me/messages?$select=Subject,Sender,ReceivedDateTime

排序结果

你可以使用 $orderby 查询参数排序结果。 将此参数的值设置为属性名称,并可以指定升序(默认)或降序。 请记住,$orderby 查询参数不能与 $search 一起使用。

以下没有 URL 编码的示例将获取收件箱中的所有邮件并按 ReceivedDateTime 属性降序排列。

GET https://outlook.office.com/api/v2.0/me/messages?$orderby=ReceivedDateTime desc

经 URL 编码的相同示例:

GET https://outlook.office.com/api/v2.0/me/messages?$orderby=ReceivedDateTime%20desc

分页结果

默认情况下,对 MessagesChildFolders 属性、集合或者 CalendarView 的 GET 请求将返回 10 个条目(最多 50 个)。 要更改此行为,可以通过使用 $top 查询参数来设置最大数量。 以下示例获取收件箱中的前五个邮件。

GET https://outlook.office.com/api/v2.0/me/messages?$top=5

如果收件箱中有超过五封邮件,则回复中会包含一个 odata.nextLink 属性。 此属性的存在表示服务器上有更多可用项目。 此属性的值是一个可用于获取下五个项目的 URI。

GET https://outlook.office.com/api/v2.0/me/messages?$top=5&$skip=5

分页是通过使用 $top 参数来指定页面大小和 $skip 参数作为页面大小的倍数。 通过增加按页面大小的 $skip 参数值,可以请求结果集中的下一页。

统计集合中的实体

可以通过使用 $count 参数获得集合中实体的数量。 您也可以筛选计数请求。

本示例获取收件箱中的邮件数量。

GET https://outlook.office.com/api/v2.0/me/messages/$count

未经 URL 编码的这个例子获取收件箱中未读邮件的数量。

GET https://outlook.office.com/api/v2.0/me/messages/$count?$filter=IsRead eq false

经 URL 编码的相同示例:

GET https://outlook.office.com/api/v2.0/me/messages/$count?$filter=IsRead%20eq%20false

综合运用

您可以组合参数来创建复杂的查询。 下面的示例按以下方式对收件箱中的邮件进行查询:

  • 仅返回重要性设置为“高”的项目。

  • 只返回 SubjectSenderReceivedDateTime 属性。

  • 只返回前五条消息。

备注

未使用 URL 编码,并且已添加换行符以使示例更易于阅读。

https://outlook.office.com/api/v2.0/me/messages?
    $filter=Importance eq 'High'
    &$select=Subject,Sender,ReceivedDateTime
    &$top=5

如果指定 $filter ,服务器会推断结果的排序顺序。 如果同时使用 $filter$orderby,必须先在 $orderby 中列出 $filter 的属性,然后再列出其他任何属性,且必须按照它们在 $filter 参数中的顺序列出这些属性。

以下示例显示了一个由SubjectImportance 属性筛选,然后按 SubjectImportanceSender 属性排序的查询。

https://outlook.office.com/api/v2.0/me/messages?
    $filter=Subject eq 'Good Times' AND Importance eq 'High'&
    $orderby=Subject,Importance,Sender

以下是使用 URL 编码和不带换行符的相同示例。

https://outlook.office.com/api/v2.0/me/messages?$filter=Importance%20eq%20%27High%27&select=Subject,Sender,ReceivedDateTime&$top=5

https://outlook.office.com/api/v2.0/me/messages?$filter=Subject%20eq%20%27Good%20Times%27%20AND%20Importance%20eq%20%27High%27&$orderby=Subject,Importance,Sender

另请参阅