Office.SmartAlertsEventCompletedOptions interface

指定 智能警报加载项 在完成处理 OnMessageSendOnAppointmentSend 事件时的行为。

注解

[ API set: Mailbox 1.12 ]

Outlook) 的最低权限级别 (受限

适用的 Outlook 模式:Compose

示例

// The following example checks whether a location is specified in an appointment before it's sent.
function onAppointmentSendHandler(event) {
    Office.context.mailbox.item.location.getAsync({ asyncContext: event }, asyncResult => {
        const event = asyncResult.asyncContext;
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            console.log(asyncResult.error.message);
            // If the add-in is unable to retrieve the appointment's location, the appointment isn't sent.
            event.completed({ allowEvent: false, errorMessage: "Failed to get the appointment's location." });
            return;
        }

        if (asyncResult.value === "") {
            // If no location is specified, the appointment isn't sent and the user is alerted to include a location.
            event.completed(
                {
                    allowEvent: false,
                    cancelLabel: "Add a location",
                    commandId: "msgComposeOpenPaneButton",
                    contextData: JSON.stringify({ a: "aValue", b: "bValue" }),
                    errorMessage: "Don't forget to add a meeting location.",
                    errorMessageMarkdown: `
                        Don't forget to add a meeting location.\n\n
                        **Tip**: For a list of locations,
                        see [Meeting Locations]("https://www.contoso.com/meeting-locations).`,
                    sendModeOverride: Office.MailboxEnums.SendModeOverride.PromptUser
                }
            );
        } else {
            // If a location is specified, the appointment is sent.
            event.completed({ allowEvent: true });
        }
    });
}

属性

allowEvent

使用 completed 方法 指示事件处理程序完成时,此值指示处理的事件应继续执行还是取消。 例如,处理 OnMessageSendOnAppointmentSend 事件的外接程序可以设置为 allowEventfalse 以取消项目发送。 有关完整示例,请参阅 智能警报演练

cancelLabel

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性自定义“智能警报”对话框中 的“不发送 ”按钮的文本。 自定义文本必须为 20 个字符或更少。

有关示例,请参阅 智能警报演练

commandId

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性指定从“智能警报”对话框中选择“ 不发送 ”按钮时运行的任务窗格或函数的 ID。

有关示例,请参阅 智能警报演练

contextData

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性指定在从“智能警报”对话框中选择“ 不发送 ”按钮时传递给外接程序进行处理的任何 JSON 数据。

errorMessage

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性将设置向用户显示的错误消息。 有关示例,请参阅 智能警报演练

errorMessageMarkdown

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性将设置向用户显示的错误消息。 使用 Markdown 设置错误消息的格式。 有关示例,请参阅 智能警报演练

sendModeOverride

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性将替代运行时清单中指定的 发送模式选项

有关示例,请参阅 智能警报演练

属性详细信息

allowEvent

使用 completed 方法 指示事件处理程序完成时,此值指示处理的事件应继续执行还是取消。 例如,处理 OnMessageSendOnAppointmentSend 事件的外接程序可以设置为 allowEventfalse 以取消项目发送。 有关完整示例,请参阅 智能警报演练

allowEvent?: boolean;

属性值

boolean

注解

[ API set: Mailbox 1.12 ]

Outlook) 的最低权限级别 (受限

适用的 Outlook 模式:Compose

cancelLabel

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性自定义“智能警报”对话框中 的“不发送 ”按钮的文本。 自定义文本必须为 20 个字符或更少。

有关示例,请参阅 智能警报演练

cancelLabel?: string;

属性值

string

注解

[ API set: Mailbox 1.14 ]

Outlook) 的最低权限级别 (受限

适用的 Outlook 模式:Compose

commandId

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性指定从“智能警报”对话框中选择“ 不发送 ”按钮时运行的任务窗格或函数的 ID。

有关示例,请参阅 智能警报演练

commandId?: string;

属性值

string

注解

[ API set: Mailbox 1.14 ]

Outlook) 的最低权限级别 (受限

适用的 Outlook 模式:Compose

重要说明

该值 commandId 必须与外接程序清单中指定的任务窗格或函数 ID 匹配。 标记取决于外接程序使用的清单类型。

  • 仅外接程序清单id 表示任务窗格或函数的 Control 元素的属性。

  • Microsoft 365 的统一清单:“controls”数组中任务窗格或函数命令的“id”属性。

如果在调用中event.completed指定选项contextData,还必须为 commandId 选项分配任务窗格或函数 ID。 否则,将忽略分配给 contextData 的 JSON 数据。

contextData

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性指定在从“智能警报”对话框中选择“ 不发送 ”按钮时传递给外接程序进行处理的任何 JSON 数据。

contextData?: any;

属性值

any

注解

[ API set: Mailbox 1.14 ]

Outlook) 的最低权限级别 (受限

适用的 Outlook 模式:Compose

重要说明

  • 在 Outlook on Windows 中, any 从版本 2402 (内部版本 17308.20000) 开始支持该类型。 在早期版本的 Outlook on Windows 中,仅 string 支持 类型。

  • 如果在调用中event.completed指定选项contextData,还必须为commandId选项分配任务窗格 ID。 否则,将忽略分配给 contextData 的 JSON 数据。

  • 若要检索 属性的值 contextData ,必须在任务窗格的 JavaScript 实现中调用 Office.context.mailbox.item.getInitializationContextAsync 。 如果使用 创建 JSON 字符串 JSON.stringify() 并将其分配给 contextData 属性,则必须在检索该字符串后使用 JSON.parse() 分析该字符串。

errorMessage

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性将设置向用户显示的错误消息。 有关示例,请参阅 智能警报演练

errorMessage?: string;

属性值

string

注解

[ API set: Mailbox 1.12 ]

Outlook) 的最低权限级别 (受限

适用的 Outlook 模式:Compose

errorMessageMarkdown

注意

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

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性将设置向用户显示的错误消息。 使用 Markdown 设置错误消息的格式。 有关示例,请参阅 智能警报演练

errorMessageMarkdown?: string;

属性值

string

注解

[ API 集:邮箱预览 ]

Outlook) 的最低权限级别 (受限

适用的 Outlook 模式:Compose

重要说明

  • 格式化的错误消息必须为 500 个字符或更少。

  • 有关支持的 Markdown 元素的指导,请参阅 使用 Markdown 设置对话框消息格式的限制。

  • 如果使用 属性设置对话框消息 errorMessageMarkdown 的格式,建议还使用 errorMessage 属性添加消息的纯文本版本。 这可确保邮件在不支持 Markdown 的 Outlook 客户端中正确显示。

sendModeOverride

使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEventfalse时,此属性将替代运行时清单中指定的 发送模式选项

有关示例,请参阅 智能警报演练

sendModeOverride?: MailboxEnums.SendModeOverride | string;

属性值

注解

[ API set: Mailbox 1.14 ]

Outlook) 的最低权限级别 (受限

适用的 Outlook 模式:Compose

重要提示:目前, sendModeOverride 只能设置为 提示用户 选项。