Office.MessageRead interface

Office.context.mailbox.item 的邮件读取模式。

重要说明

  • 这是一个内部 Outlook 对象,不会通过现有接口直接公开。 应将其视为一种 Office.context.mailbox.item模式。 有关详细信息,请参阅 Outlook 项目对象模型

  • 调用 Office.context.mailbox.item 邮件时,请注意 Outlook 客户端中的阅读窗格必须打开。 有关如何配置阅读窗格的指南,请参阅使用和配置阅读窗格以预览邮件。

父接口:

扩展

注解

使用方

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/get-attachments-read.yaml

const item = Office.context.mailbox.item;

if (item.attachments.length > 0) {
    for (let i = 0; i < item.attachments.length; i++) {
        const attachment = item.attachments[i];
        console.log(`${i+1}. Name: ${attachment.name}`);
        console.log(`ID: ${attachment.id}`);
        console.log(`Type: ${attachment.attachmentType}`);
        console.log(`Inline content: ${attachment.isInline}`);
        console.log(`Size: ${attachment.size}`);
    }
} else {
    console.log("This mail item doesn't contain any attachments.");
}

属性

attachments

以数组形式获取项的附件。

body

获取一个提供用于处理项目正文的方法的对象。

categories

获取提供用于管理项类别的方法的对象。

cc

提供对邮件的抄送 (Cc) 收件人的访问权限。 对象的类型和访问级别取决于当前项目的模式。

cc属性返回的数组包含邮件抄行上列出的每个收件人的 EmailAddressDetails 对象。 返回的最大收件人数因 Outlook 客户端而异。

  • Windows (经典 - 邮箱 1.15 及更低版本) :500 个收件人

  • Windows (经典 - 邮箱 1.16 及更高版本) :1,000 个收件人

  • Android、经典 Mac UI、iOS:100 个收件人

  • Web 浏览器,Windows (新) :折叠视图) (20 个收件人,展开视图) (1,000 个收件人

  • 新 Mac UI:无限制

conversationId

获取包含特定消息的电子邮件会话的标识符。

如果在阅读窗体或撰写窗体的回复中激活邮件应用程序,则此属性可以获得一个整数值。 如果用户随后更改了回复邮件的主题(若发送回复),则该邮件的对话 ID 将改变且之前获取的值将不适用。

对于撰写窗体的新项目,此属性获得一个 null 值。 如果用户设置一个主题并保存该项目,conversationId 属性将返回一个值。

dateTimeCreated

获取项目创建的日期和时间。

dateTimeModified

获取项目最近一次修改的日期和时间。

display

获取对象,以便暂时在阅读模式下设置邮件正文或主题中显示的内容。

end

获取约会结束的日期和时间。

end 属性是一个 Date 对象,表示为协调世界时 (UTC) 日期和时间值。 可以使用该 convertToLocalClientTime 方法将属性值转换为 end 客户端的本地日期和时间。

使用 Time.setAsync 方法设置结束时间时,应使用 convertToUtcClientTime 方法将客户端的本地时间转换为服务器的 UTC。

from

获取邮件发件人的电子邮件地址。

from 属性返回一个 EmailAddressDetails 对象。

internetMessageId

获取电子邮件的 Internet 消息标识符。

itemClass

获取所选邮件的 Exchange Web 服务项类。

itemId

获取当前项目的 Exchange Web 服务 (EWS) 项标识符

itemType

获取实例表示的项的类型。

itemType 属性返回其中一个 ItemType 枚举值,指示项目对象实例是消息还是约会。

location

获取会议请求的位置。

location 属性返回一个包含约会位置的字符串。

normalizedSubject

获取项目的主题,删除 (所有前缀,包括 RE: 和 FWD:) 。

normalizedSubject该属性获取项目的主题,以及电子邮件程序添加的任何标准前缀 (,例如 RE: 和 FW:) 。 若要获取包含完整前缀的项目主题,请使用 subject 属性。

notificationMessages

获取项目的通知邮件。

recurrence

获取约会的重复周期模式。 获取会议请求的重复周期模式。 约会项目的读取和撰写模式。 会议请求项目的读取模式。

recurrence如果项目是系列或系列中的实例,则该属性返回Recurrence定期约会或会议请求的对象。 null 为单个约会和单个约会的会议请求返回。 undefined 为不属于会议请求的邮件返回。

注意: 会议请求的 itemClass 值为 IPM.Schedule.Meeting.Request

注意:如果对象为 null,则 recurrence 指示对象是单个约会或单个约会的会议请求,而不是系列的一部分。

sender

获取电子邮件发件人的电子邮件地址。

seriesId

获取实例所属系列的 ID。

在 Outlook 网页版 中,在 Windows (新的和经典的) 上,以及在 Mac 上,返回seriesId此项目所属的父 (系列) 项的 Exchange Web 服务 (EWS) ID。 但是,在 Android 和 iOS 上的 Outlook 中,返回 seriesId 父项的 REST ID。

注意:该属性返回的 seriesId 标识符与 Exchange Web 服务项标识符相同。 该 seriesId 属性与 Outlook REST API 使用的 Outlook ID 并不完全相同。 在使用此值进行 REST API 调用之前,应使用 Office.context.mailbox.convertToRestId. 有关更多详细信息,请参阅 通过 Outlook 加载项使用 Outlook REST API。

seriesId该属性null返回没有父项的项目(如单个约会、系列项目或会议请求),并返回undefined非会议请求的任何其他项目。

start

获取约会开始的日期和时间。

start 属性是一个 Date 对象,表示为协调世界时 (UTC) 日期和时间值。 可以使用该 convertToLocalClientTime 方法将值转换为客户端的本地日期和时间。

subject

获取项目的主题字段中显示的说明。

subject 属性获取或设置由电子邮件服务器发送项目时的整个主题。

subject 属性返回一个字符串。 使用该 normalizedSubject 属性获取主题减去任何前导前缀,例如 RE: 和 FW:。

to

提供对邮件的“收件人”行上的收件人的访问权限。 对象的类型和访问级别取决于当前项目的模式。

to属性返回的数组包含邮件“收件人”行上列出的每个收件人的 EmailAddressDetails 对象。 返回的最大收件人数因 Outlook 客户端而异。

  • Windows (经典 - 邮箱 1.15 及更低版本) :500 个收件人

  • Windows (经典 - 邮箱 1.16 及更高版本) :1,000 个收件人

  • Android、经典 Mac UI、iOS:100 个收件人

  • Web 浏览器,Windows (新) :折叠视图) (20 个收件人,展开视图) (1,000 个收件人

  • 新 Mac UI:无限制

方法

addHandlerAsync(eventType, handler, options, callback)

添加支持事件的事件处理程序。 事件仅在任务窗格加载项中可用。

addHandlerAsync(eventType, handler, callback)

添加支持事件的事件处理程序。 事件仅在任务窗格加载项中可用。

displayReplyAllForm(formData)

显示一个回复表单,该表单包括所选邮件的发件人和所有收件人,或者包括所选约会的组织者和所有与会者。

displayReplyAllFormAsync(formData, options, callback)

显示一个回复表单,该表单包括所选邮件的发件人和所有收件人,或者包括所选约会的组织者和所有与会者。

displayReplyAllFormAsync(formData, callback)

显示一个回复表单,该表单包括所选邮件的发件人和所有收件人,或者包括所选约会的组织者和所有与会者。

displayReplyForm(formData)

显示答复窗体,其中仅包括所选邮件的发件人或所选约会的组织者。

displayReplyFormAsync(formData, options, callback)

显示答复窗体,其中仅包括所选邮件的发件人或所选约会的组织者。

displayReplyFormAsync(formData, callback)

显示答复窗体,其中仅包括所选邮件的发件人或所选约会的组织者。

getAllInternetHeadersAsync(options, callback)

以字符串形式获取消息的所有 Internet 标头。

若要了解详细信息,请参阅如何在 Outlook 加载项中获取和设置邮件上的 Internet 标题

getAllInternetHeadersAsync(callback)

以字符串形式获取消息的所有 Internet 标头。

若要了解详细信息,请参阅如何在 Outlook 加载项中获取和设置邮件上的 Internet 标题

getAsFileAsync(options, callback)

获取以 Base64 编码的 EML 格式的当前消息。

getAsFileAsync(callback)

获取以 Base64 编码的 EML 格式的当前消息。

getAttachmentContentAsync(attachmentId, options, callback)

从邮件或约会中获取附件,并将其作为 AttachmentContent 对象返回。

getAttachmentContentAsync(attachmentId, callback)

从邮件或约会中获取附件,并将其作为 AttachmentContent 对象返回。

getEntities()

获取在所选项目的正文中找到的实体。

警告:基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

getEntitiesByType(entityType)

获取所选项目的正文中找到的指定实体类型的所有实体的数组。

警告:基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

getFilteredEntitiesByName(name)

返回选定项中传递在仅加载项清单文件中定义的指定筛选器的已知实体。

警告:基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

getInitializationContextAsync(options, callback)

获取由 可操作邮件激活加载项时传递的初始化数据。

getInitializationContextAsync(callback)

获取由 可操作邮件激活加载项时传递的初始化数据。

getRegExMatches()

返回所选项目中与仅加载项清单文件中定义的正则表达式匹配的字符串值。

getRegExMatchesByName(name)

返回所选项目中与仅加载项清单文件中定义的已命名正则表达式匹配的字符串值。

getSelectedEntities()

获取在用户已选择的突出显示匹配项中找到的实体。 突出显示的匹配项适用于上下文外接程序。

警告:基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

getSelectedRegExMatches()

在突出显示的匹配项中返回字符串值,这些字符串值与仅加载项清单文件中定义的正则表达式匹配。 突出显示的匹配项适用于上下文外接程序。

getSharedPropertiesAsync(options, callback)

获取共享文件夹或共享邮箱中约会或邮件的属性。

有关使用此 API 的详细信息,请参阅在 Outlook 加载项中启用共享文件夹和共享邮箱方案

getSharedPropertiesAsync(callback)

获取共享文件夹或共享邮箱中的约会或邮件的属性, (现在处于预览) 状态。

有关使用此 API 的详细信息,请参阅在 Outlook 加载项中启用共享文件夹和共享邮箱方案

loadCustomPropertiesAsync(callback, userContext)

异步加载所选项目上此外接程序的自定义属性。

自定义属性会以键值对的形式存储在每个应用和项的基础上。 此方法在回调中返回一个 CustomProperties 对象,该对象提供访问特定于当前项和当前加载项的自定义属性的方法。 项上的自定义属性未加密,因此不应将其用作安全存储。

自定义属性作为 asyncResult.value 属性中的 CustomProperties 对象提供。 此对象可用于从邮件项中获取、设置、保存和删除自定义属性。

removeHandlerAsync(eventType, options, callback)

删除受支持事件类型的事件处理程序。 事件仅在任务窗格加载项中可用。

removeHandlerAsync(eventType, callback)

删除受支持事件类型的事件处理程序。 事件仅在任务窗格加载项中可用。

属性详细信息

attachments

以数组形式获取项的附件。

attachments: AttachmentDetails[];

属性值

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • 由于潜在的安全问题,某些类型的文件会受到 Outlook 阻止,并且不会返回。 有关详细信息,请参阅 Outlook 中阻止的附件

  • 使用 “上传并共享 ”选项添加的附件将不返回。

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/get-attachments-read.yaml

const item = Office.context.mailbox.item;

if (item.attachments.length > 0) {
    for (let i = 0; i < item.attachments.length; i++) {
        const attachment = item.attachments[i];
        console.log(`${i+1}. Name: ${attachment.name}`);
        console.log(`ID: ${attachment.id}`);
        console.log(`Type: ${attachment.attachmentType}`);
        console.log(`Inline content: ${attachment.isInline}`);
        console.log(`Size: ${attachment.size}`);
    }
} else {
    console.log("This mail item doesn't contain any attachments.");
}

body

获取一个提供用于处理项目正文的方法的对象。

body: Body;

属性值

注解

API 集:邮箱 1.1

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
    "text",
    { asyncContext: "This is passed to the callback" },
    function callback(result) {
        // Do something with the result.
    });

// The following is an example of the result parameter passed to the callback function.
{
    "value": "TEXT of whole body (including threads below)",
    "status": "succeeded",
    "asyncContext": "This is passed to the callback"
}

categories

获取提供用于管理项类别的方法的对象。

categories: Categories;

属性值

注解

API 集:邮箱 1.8

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/45-categories/work-with-categories.yaml

Office.context.mailbox.item.categories.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const categories = asyncResult.value;
    if (categories && categories.length > 0) {
      console.log("Categories assigned to this item:");
      console.log(JSON.stringify(categories));
    } else {
      console.log("There are no categories assigned to this item.");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

// Note: In order for you to successfully add a category,
// it must be in the mailbox categories master list.

Office.context.mailbox.masterCategories.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const masterCategories = asyncResult.value;
    if (masterCategories && masterCategories.length > 0) {
      // Grab the first category from the master list.
      const categoryToAdd = [masterCategories[0].displayName];
      Office.context.mailbox.item.categories.addAsync(categoryToAdd, function(asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
          console.log(`Successfully assigned category '${categoryToAdd}' to item.`);
        } else {
          console.log("categories.addAsync call failed with error: " + asyncResult.error.message);
        }
      });
    } else {
      console.log("There are no categories in the master list on this mailbox. You can add categories using Office.context.mailbox.masterCategories.addAsync.");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

Office.context.mailbox.item.categories.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const categories = asyncResult.value;
    if (categories && categories.length > 0) {
      // Grab the first category assigned to this item.
      const categoryToRemove = [categories[0].displayName];
      Office.context.mailbox.item.categories.removeAsync(categoryToRemove, function(asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
          console.log(`Successfully unassigned category '${categoryToRemove}' from this item.`);
        } else {
          console.log("categories.removeAsync call failed with error: " + asyncResult.error.message);
        }
      });
    } else {
      console.log("There are no categories assigned to this item.");
    }
  } else {
    console.error(asyncResult.error);
  }
});

cc

提供对邮件的抄送 (Cc) 收件人的访问权限。 对象的类型和访问级别取决于当前项目的模式。

cc属性返回的数组包含邮件抄行上列出的每个收件人的 EmailAddressDetails 对象。 返回的最大收件人数因 Outlook 客户端而异。

  • Windows (经典 - 邮箱 1.15 及更低版本) :500 个收件人

  • Windows (经典 - 邮箱 1.16 及更高版本) :1,000 个收件人

  • Android、经典 Mac UI、iOS:100 个收件人

  • Web 浏览器,Windows (新) :折叠视图) (20 个收件人,展开视图) (1,000 个收件人

  • 新 Mac UI:无限制

cc: EmailAddressDetails[];

属性值

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-cc-message-read.yaml

const msgCc = Office.context.mailbox.item.cc;
console.log("Message copied to:");
for (let i = 0; i < msgCc.length; i++) {
  console.log(msgCc[i].displayName + " (" + msgCc[i].emailAddress + ")");
}

conversationId

获取包含特定消息的电子邮件会话的标识符。

如果在阅读窗体或撰写窗体的回复中激活邮件应用程序,则此属性可以获得一个整数值。 如果用户随后更改了回复邮件的主题(若发送回复),则该邮件的对话 ID 将改变且之前获取的值将不适用。

对于撰写窗体的新项目,此属性获得一个 null 值。 如果用户设置一个主题并保存该项目,conversationId 属性将返回一个值。

conversationId: string;

属性值

string

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-conversation-id-message.yaml

console.log(`Conversation ID: ${Office.context.mailbox.item.conversationId}`);

dateTimeCreated

获取项目创建的日期和时间。

dateTimeCreated: Date;

属性值

Date

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-date-time-created-read.yaml

console.log(`Creation date and time: ${Office.context.mailbox.item.dateTimeCreated}`);

dateTimeModified

获取项目最近一次修改的日期和时间。

dateTimeModified: Date;

属性值

Date

注解

API 集:邮箱 1.1

最低权限级别读取项目

适用的 Outlook 模式:约会与会者

重要提示: Android 或 iOS 上的 Outlook 不支持此属性。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-date-time-modified-read.yaml

console.log(`Date and time item last modified: ${Office.context.mailbox.item.dateTimeModified}`);

display

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

获取对象,以便暂时在阅读模式下设置邮件正文或主题中显示的内容。

display: Display;

属性值

注解

API 集:邮箱预览

最低权限级别读取/写入项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/99-preview-apis/set-displayed-body-subject.yaml

// This snippet temporarily sets the content displayed in the body of a message in read mode.
// The set content will remain visible until the user switches to a different message in the Reading Pane or closes the window of the current message.
const bodyText = (document.getElementById("body-text-field") as HTMLInputElement).value;
Office.context.mailbox.item.display.body.setAsync(bodyText, (asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log(`Action failed with error: ${asyncResult.error.message}`);
    return;
  }

  console.log("Temporarily set the content displayed in the body.");
});

end

获取约会结束的日期和时间。

end 属性是一个 Date 对象,表示为协调世界时 (UTC) 日期和时间值。 可以使用该 convertToLocalClientTime 方法将属性值转换为 end 客户端的本地日期和时间。

使用 Time.setAsync 方法设置结束时间时,应使用 convertToUtcClientTime 方法将客户端的本地时间转换为服务器的 UTC。

end: Date;

属性值

Date

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-end-read.yaml

const time = Office.context.mailbox.item.end;
const localTime = Office.context.mailbox.convertToLocalClientTime(time);
console.log(`Appointment ends (local): ${localTime.month + 1}/${localTime.date}/${localTime.year}, ${localTime.hours}:${localTime.minutes}:${localTime.seconds}`);

from

获取邮件发件人的电子邮件地址。

from 属性返回一个 EmailAddressDetails 对象。

from: EmailAddressDetails;

属性值

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • and 属性代表同一个人,除非消息是由具有“代表发送”权限的代理发送的。senderfrom 在这种情况下, from 该属性返回邮箱所有者或共享邮箱的电子邮件地址,该 sender 属性返回代理的地址。 如果代理同时具有 “代表发送” 和“ 发送方式 ”权限,则将应用 “发送方式” 权限。 有关邮箱委派的信息,请参阅 在 Exchange Online 中管理收件人的权限。

  • recipientType属性中from对象EmailAddressDetails的属性未定义。

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-from-message-read.yaml

const msgFrom = Office.context.mailbox.item.from;
console.log("Message received from: " + msgFrom.displayName + " (" + msgFrom.emailAddress + ")");

internetMessageId

获取电子邮件的 Internet 消息标识符。

internetMessageId: string;

属性值

string

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

【重要事项】在 “已发送邮件” 文件夹中,最近 internetMessageId 发送的邮件可能尚不可用。 在这种情况下,请考虑使用以下选项之一,具体取决于你的 Exchange 环境。

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-internet-message-id-read.yaml

console.log(`Internet message ID: ${Office.context.mailbox.item.internetMessageId}`);

itemClass

获取所选邮件的 Exchange Web 服务项类。

itemClass: string;

属性值

string

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

下表列出了消息的默认项类。

项目类 说明
IPM。备注 新邮件和消息答复
IPM.Schedule.Meeting.Request 会议请求
IPM.Schedule.Meeting.Canceled 会议取消
IPM。Schedule.Meeting.Resp.Neg 响应以拒绝会议要求
IPM。Schedule.Meeting.Resp.Pos 接受会议请求的响应
IPM。Schedule.Meeting.Resp.Tent 响应以暂时接受会议要求

可以创建扩展默认物品类的自定义类。 例如, IPM.Note.Contoso.

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-class-read.yaml

console.log(`Item class: ${Office.context.mailbox.item.itemClass}`);

itemId

获取当前项目的 Exchange Web 服务 (EWS) 项标识符

itemId: string;

属性值

string

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • itemId 属性在撰写模式下不可用。 如果需要项目标识符,Office.context.mailbox.item.saveAsync 方法可用于将项目保存到存储,这将在回调函数的 asyncResult.value 参数中返回项目标识符。 如果已保存该项,可以改为调用 Office.context.mailbox.item.getItemIdAsync 该方法。

  • 返回的项 ID 与 Outlook 条目 ID 或 Outlook REST API 使用的 ID 并不完全相同。 在使用此值进行 REST API 调用之前,应使用 Office.context.mailbox.convertToRestId.

示例

// The following code checks for the presence of an item
// identifier. If the `itemId` property returns `null` or
// `undefined`, it saves the item to the store and gets the
// item identifier from the asynchronous result.
// **Important**: `saveAsync` was introduced with requirement set 1.3
// so you can't get the `itemId` in Compose mode in earlier sets.
let itemId = Office.context.mailbox.item.itemId;
if (itemId === null || itemId == undefined) {
    Office.context.mailbox.item.saveAsync(function(result) {
        itemId = result.value;
    });
}

itemType

获取实例表示的项的类型。

itemType 属性返回其中一个 ItemType 枚举值,指示项目对象实例是消息还是约会。

itemType: MailboxEnums.ItemType | string;

属性值

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-type.yaml

const itemType = Office.context.mailbox.item.itemType;
switch (itemType) {
    case Office.MailboxEnums.ItemType.Appointment:
        console.log(`Current item is an ${itemType}.`);
        break;
    case Office.MailboxEnums.ItemType.Message:
        console.log(`Current item is a ${itemType}. A message could be an email, meeting request, meeting response, or meeting cancellation.`);
        break;
}

location

获取会议请求的位置。

location 属性返回一个包含约会位置的字符串。

location: string;

属性值

string

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-location-read.yaml

console.log(`Appointment location: ${Office.context.mailbox.item.location}`);

normalizedSubject

获取项目的主题,删除 (所有前缀,包括 RE: 和 FWD:) 。

normalizedSubject该属性获取项目的主题,以及电子邮件程序添加的任何标准前缀 (,例如 RE: 和 FW:) 。 若要获取包含完整前缀的项目主题,请使用 subject 属性。

normalizedSubject: string;

属性值

string

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-normalized-subject-read.yaml

console.log(`Normalized subject: ${Office.context.mailbox.item.normalizedSubject}`);

notificationMessages

获取项目的通知邮件。

notificationMessages: NotificationMessages;

属性值

注解

API 集:邮箱 1.3

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要提示: 若要了解可以实现的不同类型的通知消息,请参阅为 Outlook 加载项创建通知。

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/35-notifications/add-getall-remove.yaml

// Adds a progress indicator to the mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.ProgressIndicator,
    message: "Progress indicator with id = " + id
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to add progress notification with id = ${id}. Try using a different ID.`);
    return;
  }
  console.log(`Added progress notification with id = ${id}.`);
});

...

// Adds an informational notification to the mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Non-persistent informational notification message with id = " + id,
    icon: "PG.Icon.16",
    persistent: false
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to add informational notification with id = ${id}. Try using a different ID.`);
    return;
  }
  console.log(`Added informational notification with id = ${id}.`);
});

...

// Adds a persistent information notification to the mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Persistent informational notification message with id = " + id,
    icon: "PG.Icon.16",
    persistent: true
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to add persistent informational notification with id = ${id}. Try using a different ID.`);
    return;
  }
  console.log(`Added persistent informational notification with id = ${id}.`);
});

...

// Gets all the notification messages and their keys for the current mail item.
Office.context.mailbox.item.notificationMessages.getAllAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log(asyncResult.error.message);
    return;
  }
  console.log(JSON.stringify(asyncResult.value));
});

...

// Replaces a notification message of a given key with another message.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
Office.context.mailbox.item.notificationMessages.replaceAsync(
  id,
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Notification message with id = " + id + " has been replaced with an informational message.",
    icon: "icon2",
    persistent: false
  },
  (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to replace notification with id = ${id}. ${result.error.message}.`);
      return;
    }
    console.log(`Replaced notification with id = ${id}.`);
  });

...

// Removes a notification message from the current mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
Office.context.mailbox.item.notificationMessages.removeAsync(id, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to remove notification with id = ${id}. ${result.error.message}.`);
    return;
  }
  console.log(`Removed notification with id = ${id}.`);
});

recurrence

获取约会的重复周期模式。 获取会议请求的重复周期模式。 约会项目的读取和撰写模式。 会议请求项目的读取模式。

recurrence如果项目是系列或系列中的实例,则该属性返回Recurrence定期约会或会议请求的对象。 null 为单个约会和单个约会的会议请求返回。 undefined 为不属于会议请求的邮件返回。

注意: 会议请求的 itemClass 值为 IPM.Schedule.Meeting.Request

注意:如果对象为 null,则 recurrence 指示对象是单个约会或单个约会的会议请求,而不是系列的一部分。

recurrence: Recurrence;

属性值

注解

API 集:邮箱 1.7

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/50-recurrence/get-recurrence-read.yaml

const recurrence = Office.context.mailbox.item.recurrence;

if (recurrence === undefined) {
  console.log("This item is a message but not a meeting request.");
} else if (recurrence === null) {
  console.log("This is a single appointment.");
} else {
  console.log(JSON.stringify(recurrence));
}

sender

获取电子邮件发件人的电子邮件地址。

sender: EmailAddressDetails;

属性值

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • and 属性代表同一个人,除非消息是由具有“代表发送”权限的代理发送的。senderfrom 在这种情况下, from 该属性返回邮箱所有者或共享邮箱的电子邮件地址,该 sender 属性返回代理的地址。 如果代理同时具有 “代表发送” 和“ 发送方式 ”权限,则将应用 “发送方式” 权限。 有关邮箱委派的信息,请参阅 在 Exchange Online 中管理收件人的权限。

  • recipientType属性中sender对象EmailAddressDetails的属性未定义。

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-sender-message-read.yaml

const msgSender = Office.context.mailbox.item.sender;
console.log("Sender: " + msgSender.displayName + " (" + msgSender.emailAddress + ")");

seriesId

获取实例所属系列的 ID。

在 Outlook 网页版 中,在 Windows (新的和经典的) 上,以及在 Mac 上,返回seriesId此项目所属的父 (系列) 项的 Exchange Web 服务 (EWS) ID。 但是,在 Android 和 iOS 上的 Outlook 中,返回 seriesId 父项的 REST ID。

注意:该属性返回的 seriesId 标识符与 Exchange Web 服务项标识符相同。 该 seriesId 属性与 Outlook REST API 使用的 Outlook ID 并不完全相同。 在使用此值进行 REST API 调用之前,应使用 Office.context.mailbox.convertToRestId. 有关更多详细信息,请参阅 通过 Outlook 加载项使用 Outlook REST API。

seriesId该属性null返回没有父项的项目(如单个约会、系列项目或会议请求),并返回undefined非会议请求的任何其他项目。

seriesId: string;

属性值

string

注解

API 集:邮箱 1.7

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/50-recurrence/get-series-id.yaml

const seriesId = Office.context.mailbox.item.seriesId;

if (seriesId === undefined) {
  console.log("This is a message that's not a meeting request.");
} else if (seriesId === null) {
  console.log("This is a single appointment, a parent series, or a meeting request for a series or single meeting.");
} else {
  console.log("This is an instance belonging to series with ID " + seriesId);
}

start

获取约会开始的日期和时间。

start 属性是一个 Date 对象,表示为协调世界时 (UTC) 日期和时间值。 可以使用该 convertToLocalClientTime 方法将值转换为客户端的本地日期和时间。

start: Date;

属性值

Date

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-start-read.yaml

const time = Office.context.mailbox.item.start;
const localTime = Office.context.mailbox.convertToLocalClientTime(time);
console.log(`Appointment starts (local): ${localTime.month + 1}/${localTime.date}/${localTime.year}, ${localTime.hours}:${localTime.minutes}:${localTime.seconds}`);

subject

获取项目的主题字段中显示的说明。

subject 属性获取或设置由电子邮件服务器发送项目时的整个主题。

subject 属性返回一个字符串。 使用该 normalizedSubject 属性获取主题减去任何前导前缀,例如 RE: 和 FW:。

subject: string;

属性值

string

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-subject-read.yaml

console.log(`Subject: ${Office.context.mailbox.item.subject}`);

to

提供对邮件的“收件人”行上的收件人的访问权限。 对象的类型和访问级别取决于当前项目的模式。

to属性返回的数组包含邮件“收件人”行上列出的每个收件人的 EmailAddressDetails 对象。 返回的最大收件人数因 Outlook 客户端而异。

  • Windows (经典 - 邮箱 1.15 及更低版本) :500 个收件人

  • Windows (经典 - 邮箱 1.16 及更高版本) :1,000 个收件人

  • Android、经典 Mac UI、iOS:100 个收件人

  • Web 浏览器,Windows (新) :折叠视图) (20 个收件人,展开视图) (1,000 个收件人

  • 新 Mac UI:无限制

to: EmailAddressDetails[];

属性值

注解

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-to-message-read.yaml

const msgTo = Office.context.mailbox.item.to;
const distributionLists = [];
const externalRecipients = [];
const internalRecipients = [];
const otherRecipients = [];
for (let i = 0; i < msgTo.length; i++) {
    switch (msgTo[i].recipientType) {
    case Office.MailboxEnums.RecipientType.DistributionList:
        distributionLists.push(msgTo[i]);
        break;
    case Office.MailboxEnums.RecipientType.ExternalUser:
        externalRecipients.push(msgTo[i]);
        break;
    case Office.MailboxEnums.RecipientType.User:
        internalRecipients.push(msgTo[i]);
        break;
    case Office.MailboxEnums.RecipientType.Other:
        otherRecipients.push(msgTo[i]);
    }
}

if (distributionLists.length > 0) {
    console.log("Distribution Lists:");
    distributionLists.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}

if (externalRecipients.length > 0) {
    console.log("External Recipients:");
    externalRecipients.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}

if (internalRecipients.length > 0) {
    console.log("Internal Recipients:");
    internalRecipients.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}

if (otherRecipients.length > 0) {
    console.log("Other Recipients:");
    otherRecipients.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}

方法详细信息

addHandlerAsync(eventType, handler, options, callback)

添加支持事件的事件处理程序。 事件仅在任务窗格加载项中可用。

addHandlerAsync(eventType: Office.EventType | string, handler: any, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

参数

eventType

Office.EventType | string

应调用处理程序的事件。

handler

any

用于处理事件的函数。 此函数必须接受一个参数,即对象文本。 type参数的属性将与传递给 addHandlerAsync的 eventType parameter 匹配。

options
Office.AsyncContextOptions

包含以下一个或多个属性的对象文本:- asyncContext:开发人员可以在回调函数中提供他们希望访问的任何对象。

callback

(asyncResult: Office.AsyncResult<void>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。

返回

void

注解

API 集:邮箱 1.7

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要提示: 有关邮件项上支持的事件的列表,请参阅 Outlook 项对象模型

示例

function myHandlerFunction(eventarg) {
    if (eventarg.attachmentStatus === Office.MailboxEnums.AttachmentStatus.Added) {
        const attachment = eventarg.attachmentDetails;
        console.log("Event Fired and Attachment Added!");
        getAttachmentContentAsync(attachment.id, options, callback);
    }
}

Office.context.mailbox.item.addHandlerAsync(Office.EventType.AttachmentsChanged, myHandlerFunction, myCallback);

addHandlerAsync(eventType, handler, callback)

添加支持事件的事件处理程序。 事件仅在任务窗格加载项中可用。

addHandlerAsync(eventType: Office.EventType | string, handler: any, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

参数

eventType

Office.EventType | string

应调用处理程序的事件。

handler

any

用于处理事件的函数。 此函数必须接受一个参数,即对象文本。 type参数的属性将与传递给 addHandlerAsync的 eventType parameter 匹配。

callback

(asyncResult: Office.AsyncResult<void>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。

返回

void

注解

API 集:邮箱 1.7

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要提示: 有关邮件项上支持的事件的列表,请参阅 Outlook 项对象模型

displayReplyAllForm(formData)

显示一个回复表单,该表单包括所选邮件的发件人和所有收件人,或者包括所选约会的组织者和所有与会者。

displayReplyAllForm(formData: string | ReplyFormData): void;

参数

formData

string | Office.ReplyFormData

一个包含文本和 HTML 且表示答复窗体的正文的字符串。 字符串限制为 32 KB,或者是包含正文或附件数据和回调函数的 ReplyFormData 对象。

返回

void

注解

API 集:邮箱 1.1

最低权限级别读取项目

适用的 Outlook 模式:约会与会者

重要说明

  • 在 Outlook 网页版和新的 Windows 版 Outlook 中,回复表单在 3 列视图中显示为弹出表单,在 2 列或 1 列视图中显示为弹出表单。

  • 如果任意字符串参数超出其限制,displayReplyAllForm 将引发异常。

  • 在参数中 formData.attachments 指定附件时,Outlook 会尝试下载所有附件并将其附加到回复表单。 如果无法添加任何附件,则在窗体 UI 中显示错误。 如果这不可能,则不引发错误消息。

  • Android 或 iOS 上的 Outlook 不支持此方法。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml

Office.context.mailbox.item.displayReplyAllForm("This is a reply ALL with <b>some bold text</b>.");

...

// Define attachments.
const base64Attachment = {
  base64file:
    "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",
  inLine: true,
  name: "script_lab.png",
  type: Office.MailboxEnums.AttachmentType.Base64
};
const fileAttachment = {
  inLine: true,
  name: "dog.jpg",
  type: Office.MailboxEnums.AttachmentType.File,
  url: "https://i.imgur.com/9S36xvA.jpg"
};
const itemAttachment = {
  itemId: Office.context.mailbox.item.itemId,
  name: "test_email.msg",
  type: Office.MailboxEnums.AttachmentType.Item
};

// Create the reply with attachments.
Office.context.mailbox.item.displayReplyAllForm({
  htmlBody:
    "This is a reply with an inline Base64-encoded attachment, an inline image, and an item attachment.<br><img src='cid:script_lab.png'><br><img src='cid:dog.jpg'>",
  attachments: [base64Attachment, fileAttachment, itemAttachment],
  callback: (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
      console.error(`Action failed with message ${result.error.message}`);
      return;
    }

    console.log("Created a reply-all form with attachments.");
  }
});

displayReplyAllFormAsync(formData, options, callback)

显示一个回复表单,该表单包括所选邮件的发件人和所有收件人,或者包括所选约会的组织者和所有与会者。

displayReplyAllFormAsync(formData: string | ReplyFormData, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

参数

formData

string | Office.ReplyFormData

一个包含文本和 HTML 且表示答复窗体的正文的字符串。 字符串限制为 32 KB,或者是包含正文或附件数据和回调函数的 ReplyFormData 对象。

options
Office.AsyncContextOptions

包含以下一个或多个属性的对象文本:- asyncContext:开发人员可以在回调函数中提供他们希望访问的任何对象。

callback

(asyncResult: Office.AsyncResult<void>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。

返回

void

注解

API 集:邮箱 1.9

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • 在 Outlook 网页版和新的 Windows 版 Outlook 中,回复表单在 3 列视图中显示为弹出表单,在 2 列或 1 列视图中显示为弹出表单。

  • 如果任意字符串参数超出其限制,displayReplyAllFormAsync 将引发异常。

  • 在参数中 formData.attachments 指定附件时,Outlook 会尝试下载所有附件并将其附加到回复表单。 如果无法添加任何附件,则在窗体 UI 中显示错误。 如果这不可能,则不引发错误消息。

  • Android 或 iOS 上的 Outlook 不支持此方法。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml

Office.context.mailbox.item.displayReplyAllFormAsync("This is a reply ALL with <b>some bold text</b>.", function(
  asyncResult
) {
  console.log(JSON.stringify(asyncResult));
});

...

// Define attachments.
const base64Attachment = {
  base64file:
    "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",
  inLine: true,
  name: "script_lab.png",
  type: Office.MailboxEnums.AttachmentType.Base64
};
const fileAttachment = {
  inLine: true,
  name: "dog.jpg",
  type: Office.MailboxEnums.AttachmentType.File,
  url: "https://i.imgur.com/9S36xvA.jpg"
};
const itemAttachment = {
  itemId: Office.context.mailbox.item.itemId,
  name: "test_email.msg",
  type: Office.MailboxEnums.AttachmentType.Item
};

// The async version was introduced in requirement set 1.9.
// It provides a callback when the new appointment form has been created.
Office.context.mailbox.item.displayReplyAllFormAsync(
  {
    htmlBody:
      "This is a reply with an inline Base64-encoded attachment, an inline image, and an item attachment.<br><img src='cid:script_lab.png'><br><img src='cid:dog.jpg'>",
    attachments: [base64Attachment, fileAttachment, itemAttachment]
  },
  (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.error(`Action failed with message ${asyncResult.error.message}`);
      return;
    }

    console.log("Created a reply-all form with attachments.");
  }
);

displayReplyAllFormAsync(formData, callback)

显示一个回复表单,该表单包括所选邮件的发件人和所有收件人,或者包括所选约会的组织者和所有与会者。

displayReplyAllFormAsync(formData: string | ReplyFormData, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

参数

formData

string | Office.ReplyFormData

一个包含文本和 HTML 且表示答复窗体的正文的字符串。 字符串限制为 32 KB,或者是包含正文或附件数据和回调函数的 ReplyFormData 对象。

callback

(asyncResult: Office.AsyncResult<void>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。

返回

void

注解

API 集:邮箱 1.9

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • 在 Outlook 网页版和新的 Windows 版 Outlook 中,回复表单在 3 列视图中显示为弹出表单,在 2 列或 1 列视图中显示为弹出表单。

  • 如果任意字符串参数超出其限制,displayReplyAllFormAsync 将引发异常。

  • 在参数中 formData.attachments 指定附件时,Outlook 会尝试下载所有附件并将其附加到回复表单。 如果无法添加任何附件,则在窗体 UI 中显示错误。 如果这不可能,则不引发错误消息。

  • Android 或 iOS 上的 Outlook 不支持此方法。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

displayReplyForm(formData)

显示答复窗体,其中仅包括所选邮件的发件人或所选约会的组织者。

displayReplyForm(formData: string | ReplyFormData): void;

参数

formData

string | Office.ReplyFormData

一个包含文本和 HTML 且表示答复窗体的正文的字符串。 字符串限制为 32 KB,或者是包含正文或附件数据和回调函数的 ReplyFormData 对象。

返回

void

注解

API 集:邮箱 1.1

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • 在 Outlook 网页版和新的 Windows 版 Outlook 中,回复表单在 3 列视图中显示为弹出表单,在 2 列或 1 列视图中显示为弹出表单。

  • 如果任意字符串参数超出其限制,displayReplyForm 将引发异常。

  • 在参数中 formData.attachments 指定附件时,Outlook 会尝试下载所有附件并将其附加到回复表单。 如果无法添加任何附件,则在窗体 UI 中显示错误。 如果这不可能,则不引发错误消息。

  • Android 或 iOS 上的 Outlook 不支持此方法。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml

Office.context.mailbox.item.displayReplyForm("This is a reply with <i>some text in italics</i>.");

...

// Define attachments.
const base64Attachment = {
  base64file:
    "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",
  inLine: true,
  name: "script_lab.png",
  type: Office.MailboxEnums.AttachmentType.Base64
};
const fileAttachment = {
  inLine: true,
  name: "dog.jpg",
  type: Office.MailboxEnums.AttachmentType.File,
  url: "https://i.imgur.com/9S36xvA.jpg"
};
const itemAttachment = {
  itemId: Office.context.mailbox.item.itemId,
  name: "test_email.msg",
  type: Office.MailboxEnums.AttachmentType.Item
};

// Create the reply with attachments.
Office.context.mailbox.item.displayReplyForm({
  htmlBody:
    "This is a reply with an inline Base64-encoded attachment, an inline image, and an item attachment.<br><img src='cid:script_lab.png'><br><img src='cid:dog.jpg'>",
  attachments: [base64Attachment, fileAttachment, itemAttachment],
  callback: (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
      console.error(`Action failed with message ${result.error.message}`);
      return;
    }

    console.log("Created a reply with attachments.");
  }
});

displayReplyFormAsync(formData, options, callback)

显示答复窗体,其中仅包括所选邮件的发件人或所选约会的组织者。

displayReplyFormAsync(formData: string | ReplyFormData, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

参数

formData

string | Office.ReplyFormData

一个包含文本和 HTML 且表示答复窗体的正文的字符串。 字符串限制为 32 KB,或者是包含正文或附件数据和回调函数的 ReplyFormData 对象。

options
Office.AsyncContextOptions

包含以下一个或多个属性的对象文本:- asyncContext:开发人员可以在回调函数中提供他们希望访问的任何对象。

callback

(asyncResult: Office.AsyncResult<void>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。

返回

void

注解

API 集:邮箱 1.9

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • 在 Outlook 网页版和新的 Windows 版 Outlook 中,回复表单在 3 列视图中显示为弹出表单,在 2 列或 1 列视图中显示为弹出表单。

  • 如果任意字符串参数超出其限制,displayReplyFormAsync 将引发异常。

  • 在参数中 formData.attachments 指定附件时,Outlook 会尝试下载所有附件并将其附加到回复表单。 如果无法添加任何附件,则在窗体 UI 中显示错误。 如果这不可能,则不引发错误消息。

  • Android 或 iOS 上的 Outlook 不支持此方法。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml

Office.context.mailbox.item.displayReplyFormAsync("This is a reply with <i>some text in italics</i>.", function(
  asyncResult
) {
  console.log(JSON.stringify(asyncResult));
});

...

// Define attachments.
const base64Attachment = {
  base64file:
    "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",
  inLine: true,
  name: "script_lab.png",
  type: Office.MailboxEnums.AttachmentType.Base64
};
const fileAttachment = {
  inLine: true,
  name: "dog.jpg",
  type: Office.MailboxEnums.AttachmentType.File,
  url: "https://i.imgur.com/9S36xvA.jpg"
};
const itemAttachment = {
  itemId: Office.context.mailbox.item.itemId,
  name: "test_email.msg",
  type: Office.MailboxEnums.AttachmentType.Item
};

// The async version was introduced in requirement set 1.9.
// It provides a callback when the new appointment form has been created.
Office.context.mailbox.item.displayReplyFormAsync(
  {
    htmlBody:
      "This is a reply with an inline Base64-encoded attachment, an inline image, and an item attachment.<br><img src='cid:script_lab.png'><br><img src='cid:dog.jpg'>",
    attachments: [base64Attachment, fileAttachment, itemAttachment]
  },
  (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.error(`Action failed with message ${asyncResult.error.message}`);
      return;
    }

    console.log("Created reply with attachments.");
  }
);

displayReplyFormAsync(formData, callback)

显示答复窗体,其中仅包括所选邮件的发件人或所选约会的组织者。

displayReplyFormAsync(formData: string | ReplyFormData, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

参数

formData

string | Office.ReplyFormData

一个包含文本和 HTML 且表示答复窗体的正文的字符串。 字符串限制为 32 KB,或者是包含正文或附件数据和回调函数的 ReplyFormData 对象。

callback

(asyncResult: Office.AsyncResult<void>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。

返回

void

注解

API 集:邮箱 1.9

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • 在 Outlook 网页版和新的 Windows 版 Outlook 中,回复表单在 3 列视图中显示为弹出表单,在 2 列或 1 列视图中显示为弹出表单。

  • 如果任意字符串参数超出其限制,displayReplyFormAsync 将引发异常。

  • 在参数中 formData.attachments 指定附件时,Outlook 会尝试下载所有附件并将其附加到回复表单。 如果无法添加任何附件,则在窗体 UI 中显示错误。 如果这不可能,则不引发错误消息。

  • Android 或 iOS 上的 Outlook 不支持此方法。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

getAllInternetHeadersAsync(options, callback)

以字符串形式获取消息的所有 Internet 标头。

若要了解详细信息,请参阅如何在 Outlook 加载项中获取和设置邮件上的 Internet 标题

getAllInternetHeadersAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

参数

options
Office.AsyncContextOptions

包含以下一个或多个属性的对象文本:- asyncContext:开发人员可以在回调函数中提供他们希望访问的任何对象。

callback

(asyncResult: Office.AsyncResult<string>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。 成功后,Internet 标头数据将以字符串形式在属性中 asyncResult.value 提供。 有关返回的字符串值的格式信息,请参阅 RFC 2183 。 如果调用失败, asyncResult.error 属性将包含一个错误代码以及失败的原因。

返回

void

注解

API 集:邮箱 1.8

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/70-mime-headers/get-internet-headers-message-read.yaml

Office.context.mailbox.item.getAllInternetHeadersAsync(function (asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Internet headers received successfully");
    if (asyncResult.value.match(/preferred-fruit:.*/gim)) {
      console.log("Sender's preferred fruit: " + asyncResult.value.match(/preferred-fruit:.*/gim)[0].slice(17));
    } else {
      console.log("Didn't receive header with sender's preferred fruit");
    }
    if (asyncResult.value.match(/preferred-vegetable:.*/gim)) {
      console.log(
        "Sender's preferred vegetable: " + asyncResult.value.match(/preferred-vegetable:.*/gim)[0].slice(21)
      );
    } else {
      console.log("Didn't receive header with sender's preferred vegetable");
    }
  } else {
    console.log("Error getting internet headers: " + JSON.stringify(asyncResult.error));
  }
});

getAllInternetHeadersAsync(callback)

以字符串形式获取消息的所有 Internet 标头。

若要了解详细信息,请参阅如何在 Outlook 加载项中获取和设置邮件上的 Internet 标题

getAllInternetHeadersAsync(callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

参数

callback

(asyncResult: Office.AsyncResult<string>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。 成功后,Internet 标头数据将以字符串形式在属性中 asyncResult.value 提供。 有关返回的字符串值的格式信息,请参阅 RFC 2183 。 如果调用失败, asyncResult.error 属性将包含一个错误代码以及失败的原因。

返回

void

注解

API 集:邮箱 1.8

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

getAsFileAsync(options, callback)

获取以 Base64 编码的 EML 格式的当前消息。

getAsFileAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

参数

options
Office.AsyncContextOptions

包含以下一个或多个属性的对象文本:- asyncContext:开发人员可以在回调函数中提供他们希望访问的任何对象。

callback

(asyncResult: Office.AsyncResult<string>) => void

该方法完成后,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入回调参数的函数。 在属性中 asyncResult.value 返回消息的 Base64 编码的 EML 格式。 遇到的任何错误都会在属性中 asyncResult.error 返回。

返回

void

注解

API 集:邮箱 1.14

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

getAsFileAsync(callback)

获取以 Base64 编码的 EML 格式的当前消息。

getAsFileAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;

参数

callback

(asyncResult: Office.AsyncResult<string>) => void

该方法完成后,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入回调参数的函数。 在属性中 asyncResult.value 返回消息的 Base64 编码的 EML 格式。 遇到的任何错误都会在属性中 asyncResult.error 返回。

返回

void

注解

API 集:邮箱 1.14

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-eml-format.yaml

Office.context.mailbox.item.getAsFileAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log(`Error encountered during processing: ${asyncResult.error.message}`);
    return;
  }

  console.log(asyncResult.value);
});

getAttachmentContentAsync(attachmentId, options, callback)

从邮件或约会中获取附件,并将其作为 AttachmentContent 对象返回。

getAttachmentContentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;

参数

attachmentId

string

要获取的附件的标识符。

options
Office.AsyncContextOptions

包含以下一个或多个属性的对象文本:- asyncContext:开发人员可以在回调函数中提供他们希望访问的任何对象。

callback

(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。 如果调用失败, asyncResult.error 属性将包含一个错误代码以及失败的原因。

返回

void

注解

API 集:邮箱 1.8

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • getAttachmentContentAsync 方法从项目中获取具有指定标识符的附件。 作为最佳做法,应从 item.attachments 调用获取附件的标识符,然后在同一会话中使用该标识符检索附件。

  • 在 Outlook 网页版和 Windows 上的新版 Outlook 中,getAttachmentContentAsync不支持使用“上传并共享”选项添加的附件。

  • 在 Outlook 网页版、移动设备和 Windows 上的新 Outlook 中,附件标识符仅在同一会话中有效。 当用户关闭应用时,或者如果用户开始撰写内联表单然后随后弹出表单以在单独的窗口中继续,则会话结束。

错误

  • AttachmentTypeNotSupported :不支持附件类型。 不支持的类型包括 RTF 格式的嵌入图像,或电子邮件或日历项目以外的项目附件类型, (例如联系人或任务项) 。

  • InvalidAttachmentId :附件标识符不存在。

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/get-attachment-content.yaml

// Gets the attachments of the current message or appointment in read mode. The item.attachments call can only be used in read mode.
const item = Office.context.mailbox.item;
const attachments = item.attachments;
if (attachments.length <= 0) {
  console.log("Mail item has no attachments.");
  return;
}

for (let i = 0; i < attachments.length; i++) {
  // Log the attachment type and its contents to the console.
  item.getAttachmentContentAsync(attachments[i].id, handleAttachmentsCallback);
}

getAttachmentContentAsync(attachmentId, callback)

从邮件或约会中获取附件,并将其作为 AttachmentContent 对象返回。

getAttachmentContentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;

参数

attachmentId

string

要获取的附件的标识符。

callback

(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。 如果调用失败, asyncResult.error 属性将包含一个错误代码以及失败的原因。

返回

void

注解

API 集:邮箱 1.8

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • getAttachmentContentAsync 方法从项目中获取具有指定标识符的附件。 作为最佳做法,应从 item.attachments 调用获取附件的标识符,然后在同一会话中使用该标识符检索附件。

  • 在 Outlook 网页版和 Windows 上的新版 Outlook 中,getAttachmentContentAsync不支持使用“上传并共享”选项添加的附件。

  • 在 Outlook 网页版、移动设备和 Windows 上的新 Outlook 中,附件标识符仅在同一会话中有效。 当用户关闭应用时,或者如果用户开始撰写内联表单然后随后弹出表单以在单独的窗口中继续,则会话结束。

错误

  • AttachmentTypeNotSupported :不支持附件类型。 不支持的类型包括 RTF 格式的嵌入图像,或电子邮件或日历项目以外的项目附件类型, (例如联系人或任务项) 。

  • InvalidAttachmentId :附件标识符不存在。

getEntities()

警告

现已弃用此 API。

Use regular expression rules instead.

获取在所选项目的正文中找到的实体。

警告:基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

getEntities(): Entities;

返回

注解

API 集:邮箱 1.1

最低权限级别读取项目

适用的 Outlook 模式:约会与会者

getEntitiesByType(entityType)

警告

现已弃用此 API。

Use regular expression rules instead.

获取所选项目的正文中找到的指定实体类型的所有实体的数组。

警告:基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

getEntitiesByType(entityType: MailboxEnums.EntityType | string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;

参数

entityType

Office.MailboxEnums.EntityType | string

枚举值之一 EntityType

返回

如果传入 entityType 的值不是枚举的 EntityType 有效成员,则该方法将返回 null。 如果指定类型的任何实体都不存在于该项目的正文中,该方法将返回空数组。 否则,返回的数组中对象的类型取决于 entityType 参数中请求实体的类型。

注解

API 集:邮箱 1.1

最低权限级别受限

适用的 Outlook 模式:消息阅读

getFilteredEntitiesByName(name)

警告

现已弃用此 API。

Use regular expression rules instead.

返回选定项中传递在仅加载项清单文件中定义的指定筛选器的已知实体。

警告:基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

getFilteredEntitiesByName(name: string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;

参数

name

string

定义筛选器匹配的 ItemHasKnownEntity 规则元素的名称。

返回

与加载项清单文件的规则元素中 ItemHasKnownEntity 定义的具有指定 FilterName 元素值的正则表达式匹配的实体。 如果清单中没有 ItemHasKnownEntity 元素值与 FilterName 参数 name 匹配,则该方法将返回 null。 如果参数与 name 清单中的元素 ItemHasKnownEntity 匹配,但当前项中没有匹配的实体,则该方法返回空数组。

注解

API 集:邮箱 1.1

最低权限级别读取项目

适用的 Outlook 模式:约会与会者

getInitializationContextAsync(options, callback)

获取由 可操作邮件激活加载项时传递的初始化数据。

getInitializationContextAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

参数

options
Office.AsyncContextOptions

包含以下一个或多个属性的对象文本:- asyncContext:开发人员可以在回调函数中提供他们希望访问的任何对象。

callback

(asyncResult: Office.AsyncResult<string>) => void

当该方法完成时, callback 将使用类型 Office.AsyncResult为 . 成功后,初始化上下文数据将以字符串 (的形式提供,如果属性中 asyncResult.value 没有初始化上下文) 则为空字符串提供。

返回

void

注解

API 集:邮箱 1.8

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Get the initialization context (if present).
Office.context.mailbox.item.getInitializationContextAsync((asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
        if (asyncResult.value.length > 0) {
            // The value is a string, parse to an object.
            const context = JSON.parse(asyncResult.value);
            // Do something with context.
        } else {
            // Empty context, treat as no context.
        }
    } else {
        // Handle the error.
    }
});

getInitializationContextAsync(callback)

获取由 可操作邮件激活加载项时传递的初始化数据。

getInitializationContextAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;

参数

callback

(asyncResult: Office.AsyncResult<string>) => void

当该方法完成时, callback 将使用类型 Office.AsyncResult为 . 成功后,初始化上下文数据将以字符串 (的形式提供,如果属性中 asyncResult.value 没有初始化上下文) 则为空字符串提供。

返回

void

注解

API 集:邮箱 1.8

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

getRegExMatches()

返回所选项目中与仅加载项清单文件中定义的正则表达式匹配的字符串值。

getRegExMatches(): any;

返回

any

包含与加载项清单文件中定义的正则表达式匹配的字符串数组的对象。 每个数组的名称等于匹配 ItemHasRegularExpressionMatch 规则的 RegExName 属性的相应值。 对于规则 ItemHasRegularExpressionMatch ,匹配字符串必须出现在该规则指定的项的属性中。 简单类型定义支持的属性。

注解

API 集:邮箱 1.1

最低权限级别读取项目

适用的 Outlook 模式:约会与会者

重要说明

  • 基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

  • 此方法与 Outlook 加载项的激活规则功能一起使用, Microsoft 365 统一清单不支持该功能。

  • 如果在项的 body 属性上指定 ItemHasRegularExpressionMatch 规则,则正则表达式应进一步筛选正文,并且不应尝试返回项的整个正文。 使用正则表达式(例如 .* 获取项的整个正文)并不总是返回预期的结果。 而是使用 Body.getAsync 方法检索整个正文。

  • Android 或 iOS 上的 Outlook 不支持此方法。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-regex-matches/contextual.yaml

// This API only works when you click on the highlighted word "ScriptLab".
console.log(Office.context.mailbox.item.getRegExMatches());

getRegExMatchesByName(name)

返回所选项目中与仅加载项清单文件中定义的已命名正则表达式匹配的字符串值。

getRegExMatchesByName(name: string): string[];

参数

name

string

定义筛选器匹配的 ItemHasRegularExpressionMatch 规则元素的名称。

返回

string[]

一个数组,其中包含与加载项清单文件的规则元素中定义的正则表达式匹配 ItemHasRegularExpressionMatch 的字符串,并具有指定的 RegExName 元素值。

注解

API 集:邮箱 1.1

最低权限级别读取项目

适用的 Outlook 模式:约会与会者

重要说明

  • 基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

  • 此方法与 Outlook 加载项的激活规则功能一起使用, Microsoft 365 统一清单不支持该功能。

  • 如果在项的 body 属性上指定 ItemHasRegularExpressionMatch 规则,则正则表达式应进一步筛选正文,并且不应尝试返回项的整个正文。 使用正则表达式(例如 .* 获取项的整个正文)并不总是返回预期的结果。 而是使用 Body.getAsync 方法检索整个正文。

  • Android 或 iOS 上的 Outlook 不支持此方法。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-regex-matches/contextual.yaml

// This API only works when you click on the highlighted word "ScriptLab".
console.log(Office.context.mailbox.item.getRegExMatchesByName("sampleRegexName"));

getSelectedEntities()

警告

现已弃用此 API。

Use regular expression rules instead.

获取在用户已选择的突出显示匹配项中找到的实体。 突出显示的匹配项适用于上下文外接程序。

警告:基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

getSelectedEntities(): Entities;

返回

注解

API 集:邮箱 1.6

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

getSelectedRegExMatches()

在突出显示的匹配项中返回字符串值,这些字符串值与仅加载项清单文件中定义的正则表达式匹配。 突出显示的匹配项适用于上下文外接程序。

getSelectedRegExMatches(): any;

返回

any

包含与加载项清单文件中定义的正则表达式匹配的字符串数组的对象。 每个数组的名称等于匹配ItemHasRegularExpressionMatch规则属性的RegExName相应值。 对于规则 ItemHasRegularExpressionMatch ,匹配字符串必须出现在该规则指定的项的属性中。 简单类型定义支持的属性。

注解

API 集:邮箱 1.6

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要说明

  • 基于实体的上下文 Outlook 加载项现已停用。 但是,仍支持正则表达式规则。 建议更新上下文加载项以使用正则表达式规则作为替代解决方案。 如需了解如何实现这些规则的指南,请参阅 上下文 Outlook 加载项

  • 此方法与 Outlook 加载项的激活规则功能一起使用, Microsoft 365 统一清单不支持该功能。

  • iOS 或 Android 上的 Outlook 不支持这种方法。 有关 Outlook 移动版中支持的 API 的详细信息,请参阅移动设备上的 Outlook 支持的 Outlook JavaScript API

  • 如果在项的 body 属性上指定 ItemHasRegularExpressionMatch 规则,则正则表达式应进一步筛选正文,并且不应尝试返回项的整个正文。 使用正则表达式(如 .*)获取项目的整个正文并不总是返回预期的结果。 而是使用 Body.getAsync 方法检索整个正文。

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-regex-matches/contextual.yaml

const matches = Office.context.mailbox.item.getSelectedRegExMatches();
if (matches) {
    console.log(matches);
} else {
    console.error("Open add-in by clicking on a highlighted regex match, for this API to return something useful.");
}

getSharedPropertiesAsync(options, callback)

获取共享文件夹或共享邮箱中约会或邮件的属性。

有关使用此 API 的详细信息,请参阅在 Outlook 加载项中启用共享文件夹和共享邮箱方案

getSharedPropertiesAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;

参数

options
Office.AsyncContextOptions

包含以下一个或多个属性的对象文本:- asyncContext:开发人员可以在回调函数中提供他们希望访问的任何对象。

callback

(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void

当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。 该 asyncResult.value 属性提供共享项的属性。

返回

void

注解

API 集:邮箱 1.8(用于支持共享文件夹),邮箱 1.13(用于支持共享邮箱)

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

注意:iOS 或 Android 上的 Outlook 不支持此方法。

getSharedPropertiesAsync(callback)

获取共享文件夹或共享邮箱中的约会或邮件的属性, (现在处于预览) 状态。

有关使用此 API 的详细信息,请参阅在 Outlook 加载项中启用共享文件夹和共享邮箱方案

getSharedPropertiesAsync(callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;

参数

callback

(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void

当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。 该 asyncResult.value 属性提供共享项的属性。

返回

void

注解

API 集:邮箱 1.8(用于支持共享文件夹),邮箱 1.13(用于支持共享邮箱)

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

注意:iOS 或 Android 上的 Outlook 不支持此方法。

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/65-delegates-and-shared-folders/get-shared-properties.yaml

Office.context.mailbox.item.getSharedPropertiesAsync((result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.error("The current folder or mailbox isn't shared.");
    return;
  }
  const sharedProperties = result.value;
  console.log(`Owner: ${sharedProperties.owner}`);
  console.log(`Permissions: ${sharedProperties.delegatePermissions}`);
  console.log(`Target mailbox: ${sharedProperties.targetMailbox}`);
});

loadCustomPropertiesAsync(callback, userContext)

异步加载所选项目上此外接程序的自定义属性。

自定义属性会以键值对的形式存储在每个应用和项的基础上。 此方法在回调中返回一个 CustomProperties 对象,该对象提供访问特定于当前项和当前加载项的自定义属性的方法。 项上的自定义属性未加密,因此不应将其用作安全存储。

自定义属性作为 asyncResult.value 属性中的 CustomProperties 对象提供。 此对象可用于从邮件项中获取、设置、保存和删除自定义属性。

loadCustomPropertiesAsync(callback: (asyncResult: Office.AsyncResult<CustomProperties>) => void, userContext?: any): void;

参数

callback

(asyncResult: Office.AsyncResult<Office.CustomProperties>) => void

当该方法完成时, callback 将使用类型 Office.AsyncResult为 .

userContext

any

可选。 开发人员可以提供他们想要在回调函数中访问的任何对象。 此对象可以通过回调函数中的 asyncResult.asyncContext 属性进行访问。

返回

void

注解

API 集:邮箱 1.1

若要了解有关自定义属性的详细信息,请参阅 获取和设置 Outlook 加载项的加载项元数据。

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml

Office.context.mailbox.item.loadCustomPropertiesAsync((result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
    return;
  }

  customProps = result.value;
  console.log("Loaded the CustomProperties object.");
});

removeHandlerAsync(eventType, options, callback)

删除受支持事件类型的事件处理程序。 事件仅在任务窗格加载项中可用。

removeHandlerAsync(eventType: Office.EventType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

参数

eventType

Office.EventType | string

应撤销处理程序的事件。

options
Office.AsyncContextOptions

包含以下一个或多个属性的对象文本:- asyncContext:开发人员可以在回调函数中提供他们希望访问的任何对象。

callback

(asyncResult: Office.AsyncResult<void>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。

返回

void

注解

API 集:邮箱 1.7

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要提示: 有关邮件项上支持的事件的列表,请参阅 Outlook 项对象模型

removeHandlerAsync(eventType, callback)

删除受支持事件类型的事件处理程序。 事件仅在任务窗格加载项中可用。

removeHandlerAsync(eventType: Office.EventType | string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

参数

eventType

Office.EventType | string

应撤销处理程序的事件。

callback

(asyncResult: Office.AsyncResult<void>) => void

可选。 当该方法完成时,将使用单个参数(一个对象)asyncResultOffice.AsyncResult调用传入参数的callback函数。

返回

void

注解

API 集:邮箱 1.7

最低权限级别读取项目

适用的 Outlook 模式:消息阅读

重要提示: 有关邮件项上支持的事件的列表,请参阅 Outlook 项对象模型

示例

Office.context.mailbox.item.removeHandlerAsync(Office.EventType.ItemChanged, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
        console.error("Failed to remove event handler: " + asyncResult.error.message);
        return;
    }

    console.log("Event handler removed successfully.");
});