Office.SmartAlertsEventCompletedOptions interface
指定 智能警报加载项 在完成处理 OnMessageSend
或 OnAppointmentSend
事件时的行为。
注解
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 });
}
});
}
属性
allow |
使用 completed 方法 指示事件处理程序完成时,此值指示处理的事件应继续执行还是取消。 例如,处理 |
cancel |
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 有关示例,请参阅 智能警报演练。 |
command |
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 有关示例,请参阅 智能警报演练。 |
context |
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 |
error |
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 |
error |
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 |
send |
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 有关示例,请参阅 智能警报演练。 |
属性详细信息
allowEvent
使用 completed 方法 指示事件处理程序完成时,此值指示处理的事件应继续执行还是取消。 例如,处理 OnMessageSend
或 OnAppointmentSend
事件的外接程序可以设置为 allowEvent
false
以取消项目发送。 有关完整示例,请参阅 智能警报演练。
allowEvent?: boolean;
属性值
boolean
注解
Outlook) 的最低权限级别 (:受限
适用的 Outlook 模式:Compose
cancelLabel
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEvent
false
时,此属性自定义“智能警报”对话框中 的“不发送 ”按钮的文本。 自定义文本必须为 20 个字符或更少。
有关示例,请参阅 智能警报演练。
cancelLabel?: string;
属性值
string
注解
Outlook) 的最低权限级别 (:受限
适用的 Outlook 模式:Compose
commandId
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEvent
false
时,此属性指定从“智能警报”对话框中选择“ 不发送 ”按钮时运行的任务窗格或函数的 ID。
有关示例,请参阅 智能警报演练。
commandId?: string;
属性值
string
注解
Outlook) 的最低权限级别 (:受限
适用的 Outlook 模式:Compose
重要说明:
该值 commandId
必须与外接程序清单中指定的任务窗格或函数 ID 匹配。 标记取决于外接程序使用的清单类型。
仅外接程序清单:
id
表示任务窗格或函数的 Control 元素的属性。Microsoft 365 的统一清单:“controls”数组中任务窗格或函数命令的“id”属性。
如果在调用中event.completed
指定选项contextData
,还必须为 commandId
选项分配任务窗格或函数 ID。 否则,将忽略分配给 contextData
的 JSON 数据。
contextData
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEvent
false
时,此属性指定在从“智能警报”对话框中选择“ 不发送 ”按钮时传递给外接程序进行处理的任何 JSON 数据。
contextData?: any;
属性值
any
注解
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 方法 发出事件处理程序完成信号并将其属性设置为 allowEvent
false
时,此属性将设置向用户显示的错误消息。 有关示例,请参阅 智能警报演练。
errorMessage?: string;
属性值
string
注解
Outlook) 的最低权限级别 (:受限
适用的 Outlook 模式:Compose
errorMessageMarkdown
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEvent
false
时,此属性将设置向用户显示的错误消息。 使用 Markdown 设置错误消息的格式。 有关示例,请参阅 智能警报演练。
errorMessageMarkdown?: string;
属性值
string
注解
[ API 集:邮箱预览 ]
Outlook) 的最低权限级别 (:受限
适用的 Outlook 模式:Compose
重要说明
格式化的错误消息必须为 500 个字符或更少。
有关支持的 Markdown 元素的指导,请参阅 使用 Markdown 设置对话框消息格式的限制。
如果使用 属性设置对话框消息
errorMessageMarkdown
的格式,建议还使用errorMessage
属性添加消息的纯文本版本。 这可确保邮件在不支持 Markdown 的 Outlook 客户端中正确显示。
sendModeOverride
使用 completed 方法 发出事件处理程序完成信号并将其属性设置为 allowEvent
false
时,此属性将替代运行时清单中指定的 发送模式选项 。
有关示例,请参阅 智能警报演练。
sendModeOverride?: MailboxEnums.SendModeOverride | string;
属性值
Office.MailboxEnums.SendModeOverride | string
注解
Outlook) 的最低权限级别 (:受限
适用的 Outlook 模式:Compose
重要提示:目前, sendModeOverride
只能设置为 提示用户 选项。