Office.js 是 Microsoft 提供的一个 JavaScript API 库,用于构建 Office Add-ins,这些插件可以在 Office 应用程序如 Word、Excel、PowerPoint 和 Outlook 中运行。要通过 Office.js 读写 Outlook event 上的开放扩展(Open Extensions),你需要遵循以下步骤:
开放扩展是一种自定义数据存储机制,允许开发者将额外的数据附加到 Office 365 中的对象上,例如邮件、事件或联系人。这些数据可以通过 Office.js API 进行读取和写入。
以下是一个简单的示例,展示如何使用 Office.js 为 Outlook 事件添加一个开放扩展:
// 获取当前选中的事件
Office.context.mailbox.item.getCallbackTokenAsync({ isRest: true }, function (result) {
if (result.status === Office.AsyncResultStatus.Succeeded) {
var token = result.value;
var ewsId = Office.context.mailbox.item.itemId;
var restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
// 构建请求 URL
var getEventsUrl = Office.context.mailbox.restUrl + "/v2.0/me/events/" + restId;
// 使用 REST API 获取事件详细信息
$.ajax({
url: getEventsUrl,
headers: { "Authorization": "Bearer " + token },
success: function (eventData) {
// 添加开放扩展
eventData.singleValueExtendedProperties = [
{
id: "String {00062004-0000-0000-C000-000000000046} Id 0x003F",
value: "CustomValue"
}
];
// 更新事件
$.ajax({
url: getEventsUrl,
type: "PATCH",
headers: {
"Authorization": "Bearer " + token,
"Content-Type": "application/json"
},
data: JSON.stringify(eventData),
success: function () {
console.log("开放扩展已成功添加到事件。");
},
error: function (error) {
console.error("添加开放扩展时出错: ", error);
}
});
},
error: function (error) {
console.error("获取事件详细信息时出错: ", error);
}
});
} else {
console.error("获取回调令牌时出错: ", result.error.message);
}
});
通过上述步骤和代码示例,你应该能够成功地通过 Office.js 读写 Outlook event 上的开放扩展。如果遇到具体问题,建议查看 Office.js 的官方文档或寻求社区支持。