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

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

备注

本文档涵盖了针对标记为“(预览)”的多个活动地点、日历共享、以 @ 符号提及、快速回复以及语言和时区选项的新资源或修改资源。 预览功能在最终确定之前可能会发生变化,并可能会破坏使用它们的代码。 正因为如此,一般而言,生产代码中只应使用生产版本的 API。 如果可用,2.0 版目前是首选版本。

本文介绍的 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 的 beta 版本不感兴趣? 在左侧的目录中,转到 Office 365 REST API 参考部分,然后选择所需的版本。

提示

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

附件

文件、项目(联系人、事件或消息)或指向文件或文件夹的链接,它附加到事件信息任务。 相应的 fileAttachmentitemAttachmentreferenceAttachment 资源都派生自附件资源。

类型:Microsoft.OutlookServices.Entity

属性 类型 说明 可写入? 可筛选?
ContentType 字符串 附件的 MIME 类型。
IsInline 布尔值 true 如果附件是内嵌附件;否则为 false
LastModifiedDateTime DateTimeOffset 上次修改附件的日期和时间。 日期和时间使用 ISO 8601 格式,并始终以 UTC 时间表示。

例如,2014 年 1 月 1 日午夜 UTC 将形如:'2014-01-01T00:00:00Z'
Name 字符串 附件的显示名称。 不必是实际的文件名。
大小 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 字符串 日历的唯一标识符。
IsDefaultCalendar 布尔值 如果此日历是用户的默认日历,则为 true,否则为 false。
IsShared 布尔值 如果用户与其他用户共享日历,则为 true,否则为 false。 由于只有创建日历的用户可以共享,IsSharedIsSharedWithMe 对同一个用户来说不可能同时为 true。
IsSharedWithMe 布尔值 如果用户已共享此日历,则为 true,否则为 false。 日历所有者的此属性始终为 false。
Name 字符串 日历名称。
Owner 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 操作以了解支持的操作。

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

联系人

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

类型:Microsoft.OutlookServices.Contact

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

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

属性 类型 说明 可写入? 可筛选?
AssistantName 字符串 联系人助理的姓名。
Birthday datetimeoffset 联系人的生日。
类别 集合(字符串) 与联系人关联的类别。
ChangeKey 字符串 标识联系人的版本。 每次联系人发生变化时,ChangeKey 都会更改。 它使得 Exchange 能将更改应用于正确版本的对象。
Children 集合(字符串) 联系人子女的姓名。
CompanyName 字符串 联系人所在公司的名称。
CreatedDateTime datetimeoffset 联系人的创建时间。
Department 字符串 联系人所在的部门。
DisplayName 字符串 联系人的显示名称。
EmailAddresses 集合 (EmailAddress) 联系人的电子邮件地址。
扩展 集合 (Extension) 为联系人定义的开放类型的数据扩展插件集合。 这是一个导航属性。
FileAs 字符串 联系人备案的姓名。
Flag FollowupFlag 关于联系人的任何后续信息。
Gender 字符串 联系人的性别。
Generation 字符串 联系人所属的代。
GivenName 字符串 联系人的名。
Id 字符串 联系人的唯一标识符。
ImAddresses 集合(字符串) 联系人的即时消息 (IM) 地址。
Initials 字符串 联系人的姓名缩写。
JobTitle 字符串 联系人的职务。
LastModifiedDateTime datetimeoffset 联系人的修改时间。
Manager 字符串 联系人经理的姓名。
MiddleName 字符串 联系人的中间名。
NickName 字符串 联系人的昵称。
OfficeLocation 字符串 联系人的办公室位置。
ParentFolderId 字符串 联系人的父文件夹 ID。
PersonalNotes 字符串 有关联系人的用户备注。
Phones 集合 (Phone) 与联系人关联的电话号码,例如家庭电话、手机和办公电话。
PostalAddresses PhysicalAddress 集合 与联系人关联的地址,例如家庭地址和办公地址。
Profession 字符串 联系人的职业。
SpouseName 字符串 联系人配偶的姓名。
Surname 字符串 联系人的姓氏。
标题 字符串 联系人的职位。
网站 集合 (Website) 与联系人关联的网站。
WeddingAnniversary 日期 联系人的结婚纪念日。
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。
WellKnownName 字符串 文件夹的名称,如果该文件夹是可识别的文件夹。 目前 contacts 是唯一可识别的联系人文件夹。
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 事件创建的日期和时间。
End DateTimeTimeZone 事件的结束日期和时间。
扩展 集合 (Extension) 为事件定义的开放类型的数据扩展插件集合。 这是一个导航属性。
HasAttachments 布尔值 如果事件包含附件,则设置为 true。
Id 字符串 事件的唯一标识符。
Importance Importance 事件的重要性:LowNormalHigh
Instances 集合 (Event) 事件的实例。 这是一个导航属性。
iCalUID 字符串 由不同日历间的所有事件实例共享的唯一标识符。
IsAllDay 布尔值 如果事件持续一整天,则设置为 true。 调整此属性还需要调整 StartEnd 事件的属性。
IsCancelled 布尔值 如果事件已取消,则设置为 true。
IsOrganizer 布尔值 如果邮件发件人也是组织者,则设置为 true。
IsReminderOn 布尔值 如果设置警报以提醒用户有事件,则设置为 true。
LastModifiedDateTime datetimeoffset 事件上次修改的日期和时间。
Location Location 事件的位置信息。
Locations 集合 (Location) 举办或参加事件的地点。
OnlineMeetingUrl 字符串 在线会议的 URL。
Organizer Recipient 事件的组织者。
OriginalEndTimeZone 字符串 创建事件时设置的结束时区。 参见 DateTimeTimeZone 了解有效时区的列表。
OriginalStartTimeZone 字符串 创建事件时设置的开始时区。 参见 DateTimeTimeZone 了解有效时区的列表。
定期 PatternedRecurrence 事件的定期模式。
ReminderMinutesBeforeStart Int32 事件开始时间(即提醒警报发生时间)之前的分钟数。
ResponseRequested 布尔值 如果发件人希望接收事件被接受或拒绝时的响应,则设置为 true。
ResponseStatus ResponseStatus 指示在事件消息的响应中发送的响应类型。
Sensitivity Sensitivity 指示事件的隐私级别:NormalPersonalPrivateConfidential
SeriesMasterId 字符串 分配给项目的类别。
ShowAs FreeBusyStatus 显示的状态:FreeTentativeBusyOofWorkingElsewhereUnknown
开始 DateTimeTimeZone 事件的开始时间。
Subject 字符串 事件的主题行文本。
类型 EventType 事件类型:SingleInstanceOccurrenceExceptionSeriesMaster
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 的属性以及下表中的属性。

属性 类型 说明 可写入? 可筛选?
EndDateTime DateTimeTimeZone 关联事件结束的日期和时间。
Event Event 与事件消息关联的事件。 对于与会者或会议室资源,假定已将日历助理设为在会议请求事件消息到达时自动更新包含事件的日历。 这是一个导航属性。
IsAllDay 布尔值 指示事件是否持续一整天。 调整此属性还需要调整事件的 StartDateTimeEndDateTime 属性。
IsOutOfDate 布尔值 指示此会议请求是否因更新近的请求而过期。
Location Location 关联事件的位置。
MeetingMessageType MeetingMessageType 事件消息的类型:None= 0,MeetingRequest = 1,MeetingCancelled = 2,MeetingAccepted = 3,MeetingTentativelyAccepted = 4,MeetingDeclined = 5
定期 PatternedRecurrence 关联事件的循环模式。
StartDateTime DateTimeTimeZone 关联事件的开始时间。
类型 EventType 关联事件的类型:SingleInstance = 0,Occurrence = 1,Exception = 2,SeriesMaster = 3。

EventMessageRequest(预览)

代表会议请求的消息。

基本类型:EventMessage

属性 类型 说明 可写入? 可筛选?
PreviousEndDateTime DateTimeTimeZone 请求的会议的上一个结束日期和时间。
PreviousLocation Location 请求的会议的先前位置。
PreviousStartDateTime DateTimeTimeZone 请求的会议的上一个开始日期和时间。

扩展属性

你可以在一个实体上创建一个自定义属性 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 布尔值 如果是内嵌附件则设置为 true。
Name 字符串 表示显示在表示嵌入的附件的图标下方的文本的名称。该名称不必是实际的文件名。
大小 Int32 附件大小,以字节为单位。

Folder / MailFolder

备注

注意 在测试版本中,以前称为 Folder 的实体和类型已改名为 MailFolder

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

类型:Microsoft.OutlookServices.MailFolder

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

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

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

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

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

有效的访问项计数

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

https://outlook.office.com/api/beta/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 布尔值 如果附件是内联的(例如嵌入到项目正文中的图像),请设置为 true。
Name 字符串 附件的显示名称。
大小 Int32 附件大小,以字节为单位。

Mention(预览)

表示根据个人的电子邮件地址向个人发送的通知。 这种类型的通知也被称为 @ 提及。

邮件资源支持提及。 它包括一个 MentionsPreview 属性和 Mentions 导航属性,前者指示在该实例中是否提及登录用户,后者支持在这种情况下获取任何提及的细节。

在创建消息时,应用程序可以在同一 POST 请求的 Mentions 属性中包括该提及,从而创建提及。 用一个 GET 请求与 $filter 查询参数,应用程序可以返回登录用户邮箱中提及用户的所有邮件。 带 GET 查询参数的 $expand 请求可让应用展开特定消息中的所有提及。

这种允许应用程序设置并在消息中提及的机制可实现轻量级通知,其中提及的用户可保留在现有上下文中(例如编写邮件正文),而应用程序则设置底层 Mentions 属性。 通过带有 GET$filter 查询参数的 请求,被提及的人可以很容易发现他们是否有被提及以及在何处提及。$expand

Mentions API 的一个示例用例在邮件客户端 Outlook 中。 当用户在写邮件时输入 @,Outlook 让用户只需选择或输入一个名称即可完成 @ 提及,而无需离开上下文来引起该人的注意。 在后台,Outlook 在创建和发送邮件前会设置 Mentions 属性。 Outlook 也使用 GET 操作 $filter$expand 让登录用户方便地查看是否有邮件以及是哪些邮件提及该用户,以便 获取采取行动或参与讨论的提醒,从而加快响应速度。

类型:Microsoft.OutlookServices.Mention

属性 类型 说明 可写入? 可筛选?
应用程序 字符串 创建提及的应用程序的名称。 可选。 未使用,且对 Message 来说默认为 null。
ClientReference 字符串 表示父级资源实例的唯一标识符。 可选。 未使用,且对 Message 来说默认为 null。
CreatedBy EmailAddress 提到的用户的电子邮件信息。 必需。
CreatedDateTime DateTimeOffset 在客户端上创建提及的日期和时间。
DeepLink 字符串 资源实例中提及的上下文的深层 Web 链接。 可选。 未使用,且对 Message 来说默认为 null。
Id 字符串 资源实例中提及的唯一标识符。
Mentioned EmailAddress 被提及人员的电子邮件信息。 必需。
MentionText 字符串 提及的内容。 可选。 未使用,且对 Message 来说默认为 null。
ServerCreatedDateTime DateTimeOffset 在服务器上创建提及的日期和时间。 可选。 未使用,且对 Message 来说默认为 null。

邮件

邮箱文件夹中的邮件。

类型:Microsoft.OutlookServices.Message

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

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

属性 类型 说明 可写入? 可筛选? 可搜索?
附件 集合 (Attachment) 邮件的 fileAttachmentitemAttachment 附件。 这是一个导航属性。
BccRecipients 集合 (Recipient) 邮件的秘密抄送收件人。
Body ItemBody 邮件的正文。 Default
BodyPreview 字符串 邮件正文内容的前 255 个字符。
类别 集合(字符串) 与邮件关联的类别。
CcRecipients 集合 (Recipient) 邮件的抄送收件人。
ChangeKey 字符串 邮件的版本。
ConversationId 字符串 电子邮件所属对话的 ID。
ConversationIndex Binary 表示电子邮件所属会话中项目的相对位置。
CreatedDateTime datetimeoffset 创建邮件的日期和时间。
扩展 集合 (Extension) 为邮件定义的开放类型的数据扩展插件集合。 这是一个导航属性。
Flag FollowupFlag 关于邮件的任何后续信息。
From Recipient 邮箱所有者和邮件发件人。
HasAttachments 布尔值 指示邮件是否包含附件。
Id 字符串 邮件的唯一标识符。
Importance Importance 邮件的重要性:低 = 0,正常 = 1,高 = 2。
InferenceClassification InferenceClassificationType 根据推导出的相关性或重要性或显式替代,对用户邮件的分类。
InternetMessageId 字符串 RFC2822 指定格式的邮件 ID。
InternetMessageHeaders 集合 (InternetMessageHeader) RFC2822 指定格式的 Internet 邮件标头集。
IsDeliveryReceiptRequested 布尔值 指示是否需要发送邮件已读回执。
IsDraft 布尔值 指示邮件是否为草稿。如果尚未发送,则此邮件是一封草稿。
IsRead 布尔值 指示是否已阅读该邮件。
IsReadReceiptRequested 布尔值 指示是否需要发送邮件已读回执。
LastModifiedDateTime datetimeoffset 上次更改邮件的日期和时间。
提及 集合 (Mention) 邮件中的提及集合,按 CreatedDateTime 由最新到最旧排序。 默认情况下,GET 邮件不会返回此属性,除非对此属性应用 $expand。 这是一个导航属性。
MentionsPreview MentionsPreview 邮件中的提及的相关信息。 处理 GET /messages 请求时,服务器会设置此属性,并默认将其包含在响应中。 若邮件中无提及,则服务器返回 null。 可选。
MultiValueExtendedProperties 集合 MultiValueLegacyExtendedProperty 类型的多值扩展属性的集合。 这是一个导航属性。

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

了解更多有关扩展属性的详细信息。
Subject 字符串 邮件的主题。 Default
ToRecipients 集合 (Recipient) 邮件的收件人
UniqueBody ItemBody 对话专用的邮件正文部分。
UnsubscribeData 集合(字符串) 这包含从 List-Unsubscribe 标头中解析的有效条目。 如果 UnsubscribeEnabled 属性为 true,将在 mailto: 标头中包含 List-Unsubscribe 命令的数据。 该数据必须符合 RFC-2369。 使用取消订阅操作,停止将未来邮件发送到相应通讯组列表。
UnsubscribeEnabled 布尔值 指示此邮件是否允许收件人取消订阅并停止根据电子邮件通讯组列表发送的未来邮件。 True 如果 List-Unsubscribe 标头符合 RFC-2369
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(预览)

适用于用户收件箱邮件的规则。

类型:Microsoft.OutlookServices.MessageRule

属性 类型 说明 可写入?
操作 MessageRuleActions 满足相应条件时对邮件执行的操作。
Conditions MessageRulePredicates 满足条件时,将触发该规则的相应操作。
DisplayName 字符串 规则的显示名称。
Exceptions MessageRulePredicates 表示规则的例外情况。
HasError 布尔值 指示规则是否处于错误状态。
IsEnabled 布尔值 指示是否启用规则以应用到邮件。
IsReadOnly 布尔值 表示规则是否为只读且无法由规则 REST API 修改或删除。
Sequence Int32 表示在其他规则中执行规则的顺序。

OutlookCategory(预览)

类型: Microsoft.OutlookServices.OutlookCategory

用户可以对其邮箱中 Outlook 项目(如邮件和事件)进行分组的类别依据。

属性 类型 说明 可写入? 可筛选?
DisplayName 字符串 用户邮箱中此类别的唯一名称。
颜色 CategoryColor 表示此类别的映射颜色的预设常量。

Photo

类型:Microsoft.OutlookServices.Photo

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

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

ReferenceAttachment

类型:Microsoft.OutlookServices.ReferenceAttachment

基本类型:Microsoft.OutlookServices.Attachment

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

属性 类型 说明 可写入? 可筛选?
ContentType 字符串 附件的 MIME 类型。 可选。
Id 字符串 引用附件的唯一标识符。
IsFolder 布尔值 指定附件是否是指向文件夹的链接。 如果 SourceUrl 是文件夹的链接,必须将其设置为 true。 可选。
IsInline 布尔值 true 如果附件是内嵌附件;否则为 false。 可选。
LastModifiedDateTime DateTimeOffset 上次修改附件的日期和时间。 日期和时间使用 ISO 8601 格式,并始终以 UTC 时间表示。 例如,2014 年 1 月 1 日午夜 UTC 将形如:'2014-01-01T00:00:00Z'。 可选。
Name 字符串 附件的显示名称。 不必是实际的文件名。 必需。
权限 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) 任务的 FileAttachmentItemAttachmentReferenceAttachment 附件的集合。 这是一个导航属性。
Body ItemBody 通常包含有关任务信息的任务主体。 请注意,只支持 HTML 类型。
类别 集合(字符串) 与任务关联的类别。
ChangeKey 字符串 任务的版本。
CompletedDateTime DateTimeTimeZone 指定时区中任务完成的日期。
CreatedDateTime DateTimeOffset 任务的创建日期和时间。 默认情况下,它使用 UTC。 您可以在请求标头中提供自定义时区。
DueDateTime DateTimeTimeZone 指定时区中任务将完成的日期。
HasAttachments 布尔值 如果任务具有附件,则设置为 true。
Id 字符串 任务的唯一标识符。
Importance Importance 事件的重要性:LowNormalHigh
IsReminderOn 布尔值 如果设置警报以提醒用户有任务,则设置为 true。
LastModifiedDateTime DateTimeOffset 上次修改任务的日期和时间。 默认情况下,它使用 UTC。 您可以在请求标头中提供自定义时区。
Owner 字符串 任务创建者的姓名。
ParentFolderId 字符串 该任务的父文件夹的唯一标识符。
定期 PatternedRecurrence 任务的定期模式。
ReminderDateTime DateTimeTimeZone 将要发生的任务的提醒日期和时间。
Sensitivity Sensitivity 指示事件的隐私级别:NormalPersonalPrivateConfidential
StartDateTime DateTimeTimeZone 指定时区中任务将开始的日期。
状态 TaskStatus 指示任务的状态或进度:NotStartedInProgressCompletedWaitingOnOthersDeferred
Subject 字符串 任务的简要说明或标题。

TaskFolder

类型:Microsoft.OutlookServices.TaskFolder

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

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

TaskGroup

类型:Microsoft.OutlookServices.TaskGroup

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

属性 类型 说明 可写入? 可筛选?
ChangeKey 字符串 任务组的版本。
GroupKey Edm.Guid 该任务组的唯一 GUID 标识符。
Id 字符串 任务组的唯一标识符。
IsDefaultGroup 布尔值 如果任务组为默认任务组,则为 True。
Name 字符串 任务组的名称。
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) 邮箱中的文件夹。 这是一个导航属性。
MasterCategories 集合 (OutlookCategory) 用户的主分类列表。 这是一个导航属性。
Messages 集合 (Message) 邮箱或文件夹中的邮件。 这是一个导航属性。
RootFolder MailFolder 用户邮箱的根文件夹。 这是一个导航属性。

复杂类型

Attendee

会议与会者。

类型:Microsoft.OutlookServices.AttendeeBase

属性 类型 说明
状态 ResponseStatus 响应(无、接受、拒绝等)和时间。

AttendeeAvailability

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

类型: Microsoft.OutlookServices.AttendeeAvailability

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

AttendeeBase

与会者类型。

类型:Microsoft.OutlookServices.Recipient

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

AutomaticRepliesMailTips(预览)

有关在邮箱上设置的自动回复的邮件提示。

类型: Microsoft.OutlookServices.AutomaticRepliesMailTips

属性 类型 说明
邮件 字符串 自动回复消息。
MessageLanguage LocaleInfo 自动回复消息所使用的语言。
ScheduledStartTime DateTimeTimeZone 设置自动答复开始的日期和时间。
ScheduledEndTime DateTimeTimeZone 设置自动答复结束的日期和时间。

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

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

Error(预览)

操作过程中发生的错误

类型:Microsoft.OutlookServices.Error

属性 类型 说明
邮件 字符串 错误消息。
代码 字符串 错误代码。

FollowUpFlag(预览)

关于资源实例后续的信息。

类型:Microsoft.OutlookServices.FollowupFlag

属性 类型 说明
CompletedDateTime DateTimeTimeZone 后续完成的日期和时间。
DueDateTime DateTimeTimeZone 待完成的跟进的日期和时间。
StartDateTime DateTimeTimeZone 要开始的跟进的日期和时间。
FlagStatus FollowupFlagStatus 表示父资源实例是否被标记为跟进,或者其后续工作已完成。

GeoCoordinates

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

类型:Microsoft.OutlookServices.GeoCoordinates

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

InternetMessageHeader(预览)

一个键值对,它表示由 RFC2822 指定格式的 Internet 邮件头,其中提供了从发件人到收件人的邮件所采用的网络路径的详细信息。

类型:Microsoft.OutlookServices.InternetMessageHeader

属性 类型 说明
Name 字符串 互联网消息头键值对中的关键字。
字符串 互联网邮件头键值对中的值。

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

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

LocationConstraint

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

类型:Microsoft.OutlookServices.LocationConstraint

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

LocationConstraintItem

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

类型:Microsoft.OutlookServices.Location

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

MailTips(预览)

在用户撰写邮件时向用户显示的提示性消息。 例如,将外出邮件作为邮件收件人的自动答复。

类型: Microsoft.OutlookServices.MailTips

属性 类型 说明
EmailAddress EmailAddress 收件人的邮件地址以获取邮件提醒。
AutomaticReplies AutomaticRepliesMailTips 邮件提示自动答复,如果它已由收件人设置。
MailboxFull 布尔值 收件人邮箱的完整状态。
CustomMailTip 字符串 可以在收件人的邮箱上设置的自定义邮件提示。
ExternalMemberCount Int32 外部成员的数量(如果收件人为通讯组列表)。
TotalMemberCount Int32 收件人是通讯组列表的成员数量。
DeliveryRestricted 布尔值 收件人的邮箱是否受限制,例如仅接受来自预定义的发件人列表的邮件,拒绝来自预定义的发件人列表的邮件,或仅接受来自经过验证的发件人的邮件。
IsModerated 布尔值 是否向收件人发送邮件需要批准。 例如,如果收件人是大型通讯组列表,并且主持人已设置为批准发送到该通讯组列表的邮件,或者如果向收件人发送邮件需要收件人的经理批准。
RecipientScope RecipientScopeType 收件人的范围,如内部、外部、合作伙伴。 例如,管理员可以将另一个组织设置为其“合作伙伴”。 如果管理员希望特定范围的用户可以访问某些邮件提醒,该范围很有用。 发件人可以告诉他们,他们的邮件可能会发送至组织以外的收件人,从而帮助他们做出关于措辞、语调和内容的正确决定。
RecipientSuggestions 集合 (Recipient) 基于此前上下文所建议的收件人,它们出现在相同的邮件中。
MaxMessageSize Int32 为收件人的组织或邮箱配置的最大邮件大小。
错误 错误 GetMailTips 操作期间发生的错误。

MailboxSettings

用户主邮箱的设置。

类型:Microsoft.OutlookServices.MailboxSettings

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

MeetingTimeSuggestion

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

类型: Microsoft.OutlookServices.MeetingTimeSuggestion

属性 类型 说明
MeetingTimeSlot TimeSlot 建议的会议时间段。
Confidence 双精度值 表示所有与会者的出席可能性的百分比值。
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,但组织者在请求的时间范围内不空闲。
未知 未返回任何会议时间建议的原因未知。

MentionsPreview(预览)

表示资源实例中提及的信息。

类型: Microsoft.OutlookServices.MentionsPreview

属性 类型 说明
IsMentioned 布尔值 如果在父资源实例中提及登录用户,则为 true。 只读。 支持过滤器。

MessageRuleActions(预览)

表示适用于规则的一组操作。

类型:Microsoft.OutlookServices.MessageRuleActions

属性 类型 说明
AssignCategories 集合(字符串) 分配给邮件的类别列表。
CopyToFolder 字符串 将邮件复制到其中的文件夹的 ID。
Delete 布尔值 指示邮件是否应移动到“已删除项目”文件夹。
ForwardAsAttachmentTo 集合 (Recipient) 应以附件形式接收转发邮件的收件人的电子邮件地址。
ForwardTo 集合 (Recipient) 应接收转发邮件的收件人的电子邮件地址。
MarkAsRead 布尔值 指示是否应将邮件标记为已读。
MarkImportance Importance 设置邮件重要性,可以是:LowNormalHigh
MoveToFolder 字符串 邮件将移至其中的文件夹的 ID。
PermanentDelete 布尔值 指示邮件是否应永久删除且不保存到“已删除项目”文件夹。
RedirectTo Recipient 邮件应重定向到的电子邮件地址。
StopProcessingRules 布尔值 指示是否应对后续规则进行评估。

MessageRulePredicates(预览)

表示适用于某个规则的一组条件和例外情况。

类型: Microsoft.OutlookServices.MessageRulePredicates

属性 类型 说明
BodyContains 集合(字符串) 表示应该出现在传入邮件正文中的字符串,以便条件或例外情况适用。
BodyOrSubjectContains 集合(字符串) 表示应该出现在传入邮件正文或主题中的字符串,以便条件或例外情况适用。
类别 集合(字符串) 表示传入邮件应标记的类别,以便条件或例外情况适用。
FromAddresses 集合 (Recipient) 表示传入邮件的特定发件人电子邮件地址,以便条件或例外情况适用。
HasAttachments 布尔值 指示传入的邮件是否必须包含附件,以便条件或例外情况适用。
HeaderContains 集合(字符串) 表示出现在传入邮件头中的字符串,以便条件或例外情况适用。
Importance Importance 传入邮件上标记的重要性,以便条件或例外情况适用:LowNormalHigh
IsApprovalRequest 布尔值 指示传入的邮件是否必须为审批请求,以便条件或例外情况适用。
IsAutomaticForward 布尔值 指示传入的邮件是否必须自动转发,以便条件或例外情况适用。
IsAutomaticReply 布尔值 指示传入的邮件是否必须自动答复,以便条件或例外情况适用。
IsEncrypted 布尔值 指示传入的邮件是否必须加密,以便条件或例外情况适用。
IsMeetingRequest 布尔值 指示传入的邮件是否必须为会议请求,以便条件或例外情况适用。
IsMeetingResponse 布尔值 指示传入的邮件是否必须为会议响应,以便条件或例外情况适用。
IsNonDeliveryReport 布尔值 指示传入的邮件是否必须为未送达报告,以便条件或例外情况适用。
IsPermissionControlled 布尔值 指示传入的邮件是否必须受权限控制(受 RMS 保护),以便条件或例外情况适用。
IsReadReceipt 布尔值 指示传入的邮件是否必须为已读回执,以便条件或例外情况适用。
IsSigned 布尔值 指示传入的邮件是否必须有 S/MIME 签名,以便条件或例外情况适用。
IsVoicemail 布尔值 指示传入的邮件是否必须有语音邮件,以便条件或例外情况适用。
MessageActionFlag MessageActionFlag 表示出现在传入邮件上的 flag-for-action 值,以便条件或例外情况适用。
NotSentToMe 布尔值 指示邮箱所有者是否不能是传入邮件的收件人,以便条件或异常情况适用。
ReceipentContains 集合(字符串) 表示出现在传入邮件的 toRecipientsccRecipients 属性中的字符串,以便条件或例外情况适用。
SenderContains 集合(字符串) 表示出现在传入邮件的 from 属性中的字符串,以便条件或例外情况适用。
Sensitivity Sensitivity 表示必须在传入邮件上标记的敏感度级别,以便条件或例外情况适用。 可取值为:NormalPersonalPrivateConfidential
SentCcMe 布尔值 指示邮箱所有者是否必须在传入邮件的 ccRecipients 属性中,以便条件或异常情况适用。
SentOnlyToMe 布尔值 指示邮箱所有者是否必须是传入邮件的唯一收件人,以便条件或异常情况适用。
SentToAddresses 集合 (Recipient) 表示必须已向其发送传入邮件的电子邮件地址,以便条件或例外情况适用。
SentToMe 布尔值 指示邮箱所有者是否必须在传入邮件的 toRecipients 属性中,以便条件或异常情况适用。
SentToOrCcMe 布尔值 指示邮箱所有者是否必须在传入邮件的 toRecipientsccRecipients 属性中,以便条件或异常情况适用。
SubjectContains 集合(字符串) 表示出现在传入邮件主题中的字符串,以便条件或例外情况适用。
WithinSizeRange SizeRange 表示传入邮件必须介于其中的最小大小和最大大小(以千字节为单位),以便条件或例外情况适用。

PatternedRecurrence

定期模式和区域。

类型:Microsoft.OutlookServices.PatternedRecurrence

属性 类型 说明
模式 RecurrencePattern 事件发生的频率。
RecurrenceTimeZone 字符串 开始和结束时间的时区。 参见 DateTimeTimeZone 复合类型以了解所支持时区。
Range RecurrenceRange 事件的持续时间。

Phone

表示一个电话号码。

类型:Microsoft.OutlookServices.Phone

属性 类型 说明
数字 字符串 电话号码。
类型 字符串 电话号码的类型。可能的值是:HomeBusinessMobileOtherAssistantHomeFaxBusinessFaxOtherFaxPagerRadio

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 响应返回的日期和时间。

SizeRange(预览)

指定传入邮件必须具有的最大大小和最小大小(以千字节为单位),以便条件或例外情况适用。

类型: Microsoft.OutlookServices.SizeRange

属性 类型 说明
MaximumSize Int32 传入邮件必须具有的最大大小(以千字节为单位),以便条件或例外情况适用。
MinimumSize Int32 传入邮件必须具有的最小大小(以千字节为单位),以便条件或例外情况适用。

TimeConstraint

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

类型:Microsoft.OutlookServices.TimeConstraint

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

TimeSlot

时间段。

类型:Microsoft.OutlookServices.TimeSlot

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

TimeZoneInformation(预览)

表示时区。 支持的格式是 Windows 和 Internet 编号分配机构 (IANA) 时区 (也被称为 Olson 时区)。

类型: Microsoft.OutlookServices.TimeZoneInformation

属性 类型 说明
别名 字符串 时区标识符。
DisplayName 字符串 表示时区的显示字符串。

Website(预览)

表示一个网站。

类型: Microsoft.OutlookServices.Website

属性 类型 说明
Address 字符串 网站的 URL。
DisplayName 字符串 网站的显示名称。
类型 WebsiteType 通常与联系人关联的网站类型。 可取值为:BlogHomeOtherProfileWork

WorkingHours(预览)

表示特定时区用户一周的工作天数和小时数。

类型:Microsoft.OutlookServices.WorkingHours

属性 类型 说明
DaysOfWeek 集合 (DayOfWeek) 用户工作的星期几的集合:星期日= 0,星期一= 1,星期二= 2,星期三= 3,星期四= 4,星期五= 5,星期六= 6。
StartTime Edm.TimeOfDay 一天中用户开始工作的时间。
EndTime Edm.TimeOfDay 一天中用户停止工作的时间。
TimeZone 字符串 工作时间应用的时区。 参见 DateTimeTimeZone 了解有效时区的列表。

枚举

DayOfWeek

一周中的一天。

支持的值:

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

FreeBusyStatus

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

支持的值:

  • Busy
  • Free
  • Oof
  • Tentative
  • Unknown
  • WorkingElsewhere

ActivityDomain

活动的性质。

支持的值:

  • 工时
  • 个人
  • Unrestricted
  • 未知

AutomaticRepliesStatus

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

支持的值:

  • AlwaysEnabled
  • Disabled
  • Scheduled

CategoryColor(预览)

表征用户邮箱中类别的颜色。 每个预设常量所代表的实际颜色取决于用于显示类别的 Outlook 客户端。

支持的值 映射到 Outlook 桌面客户端的颜色
Preset0 红色
Preset1 橙色
Preset2 褐色
Preset3 黄色
Preset4 绿色
Preset5 青色
Preset6 橄榄绿
Preset7 蓝色
Preset8 紫色
Preset9 蔓越橘色
Preset10 青灰色
Preset11 深青灰
Preset12 灰色
Preset13 深灰
Preset14 黑色
Preset15 深红
Preset16 暗橙
Preset17 深褐
Preset18 深黄
Preset19 深绿
Preset20 深青
Preset21 深橄榄色
Preset22 深蓝
Preset23 深紫
Preset24 深蔓越橘色
None 没有映射的颜色

ExternalAudienceScope

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

支持的值:

  • All
  • ContactsOnly
  • None

FollowupFlagStatus(预览)

表示资源实例后续标志的状态。

支持的值:

  • Complete
  • Flagged
  • NotFlagged

InferenceClassificationType

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

支持的值:

  • Focused
  • Other

LocationType(预览)

可能的位置类型。

支持的值:

  • Default
  • ConferenceRoom
  • HomeAddress
  • BusinessAddress
  • GeoCoordinates
  • StreetAddress
  • Hotel
  • Restaurant
  • LocalBusiness
  • PostalAddress

MailTipsType(预览)

枚举代​​表请求的邮件提醒的标志。

支持的值:

  • AutomaticReplies
  • CustomMailTip
  • DeliveryRestriction
  • ExternalMemberCount
  • MailboxFullStatus
  • MaxMessageSize
  • ModerationStatus
  • RecipientScope
  • RecipientSuggestions
  • TotalMemberCount

MessageActionFlag(预览)

指定对邮件采取的操作。

支持的值:

  • 任意
  • 调用
  • DoNotForward
  • FollowUp
  • FYI
  • Forward
  • NoResponseNecessary
  • Read
  • Reply
  • ReplyToAll
  • 审查

PhoneType(预览)

通常与联系人关联的电话号码类型。

支持的值:

  • Assistant
  • Business
  • BusinessFax
  • Home
  • HomeFax
  • Mobile
  • Other
  • OtherFax
  • Pager
  • Radio

RecipientScopeType(预览)

枚举表示收件人范围类型的标志。 收件人f范围由管理员用来指定某些邮件提醒只能被某个特定范围访问。

支持的值:

  • None
  • 内部
  • External
  • ExternalPartner
  • ExternalNonPartner

ReferenceAttachmentPermissions

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

支持的值:

  • Other
  • 视图
  • 编辑
  • AnonymousView
  • AnonymousEdit
  • OrganizationView
  • OrganizationEdit

ReferenceAttachmentProviders

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

支持的值:

  • Dropbox
  • OneDriveBusiness
  • OneDriveConsumer
  • Other

Sensitivity

指示隐私级别。

支持的值:

  • 常规
  • 个人
  • 私有
  • 机密

TaskStatus

指定任务的状态或进度。

支持的值:

  • Completed
  • Deferred
  • InProgress
  • NotStarted
  • WaitingOnOthers

TimeZoneStandard(预览)

表示时区的格式。

支持的值:

  • Windows
  • Iana

WebsiteType(预览)

指定通常与联系人关联的网站类型。

支持的值:

  • 博客
  • Home
  • Other
  • 配置文件
  • 工时

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/beta/me/messages?$search="pizza"

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

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

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

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

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

GET https://outlook.office.com/api/beta/me/messages?$search=%22pizza%22
GET https://outlook.office.com/api/beta/me/messages?$search=%22subject:pizza%22
GET https://outlook.office.com/api/beta/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/beta/me/events?$filter=Start/DateTime ge '2016-04-01T08:00'

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

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

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

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

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

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

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

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

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

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

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

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

选择要返回的特定属性

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

备注

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

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

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

排序结果

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

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

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

经 URL 编码的相同示例:

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

分页结果

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

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

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

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

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

统计集合中的实体

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

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

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

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

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

经 URL 编码的相同示例:

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

综合运用

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

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

  • 只返回 SubjectSenderReceivedDateTime 属性。

  • 只返回前五条消息。

备注

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

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

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

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

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

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

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

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

另请参阅