gpt4 book ai didi

office-js - 通过 Microsoft Graph 在 Outlook 加载项中设置自定义属性

转载 作者:行者123 更新时间:2023-12-03 08:24:17 28 4
gpt4 key购买 nike

假设我的 Outlook 加载项(使用 Office.js)中有以下代码在约会的撰写形式上运行:

const item = Office.context.mailbox.item;
item.loadCustomPropertiesAsync((result) => {
const props = result.value;
const testProp = props.get("my_prop");
console.log("CUSTOM_PROP", testProp);
props.set("my_prop", "test_value");
props.saveAsync((saveResult) =>
console.log("SAVE_CUSTOM_PROP", saveResult));
});

我明白了,它实际上是保存在事件中的。

现在有一堆关于这些自定义属性的问题:
  • 但是那些与扩展属性有某种关系吗?
  • 这些属性是否可以通过 Outlook REST API 或 Microsoft Graph 以某种方式访问​​?
  • 我可以使用带有基于这些属性的筛选器的 Microsoft Graph 创建推送通知订阅吗? (我知道我可以基于扩展属性)
  • 如果上述问题的答案是“否”,并且自定义属性只能通过创建它们的加载项访问,是否有办法从加载项为事件创建扩展属性,即使它没有保存?

  • 为了解释我为什么要问 - 我正在创建一个加载项,它允许将约会“连接”到我们的第 3 方系统,并使该约会与我们的对象保持同步。

    因此,当在撰写表单上单击按钮时,我:
  • 保存预约并获取event-id ,
  • 将其存储在我们的系统中,以便从我们的系统同步到约会。
  • 使用 Microsoft Graph 在我们的系统中为该约会添加扩展属性

  • 在首次使用加载项时,用户进行身份验证,然后我使用我们的扩展属性为事件创建推送通知订阅,以便从 Outlook 同步到我们的系统。

    它在 OWA 上运行良好,但现在我们确实需要支持桌面,因此出现了两个主要问题:
  • Mac 版 Outlook:否 saveAsync方法,因此无法获取事件的 id ,我正在考虑添加一些自定义属性,然后让推送通知通知我们的系统,创建了一个需要与系统同步的事件。
  • PC 版 Outlook:有 saveAsync方法,但是当约会保存在本地时执行回调,而不是在服务器上,因此我不知道确切的事件是什么时候创建的,我可以对该事件进行一些 Microsoft Graph 调用。

  • 回答我的第一个问题,和/或关于我的用例的任何提示将非常受欢迎。

    最佳答案

    TL;博士;
    是的,可以读取 Office.js 设置的自定义属性接口(interface) loadCustomPropertiesAsync使用 REST API
    您需要创建一个看起来像的 REST 调用查询

    string addinManifestId = "<your manifest guid here>";//lower cases
    string prop = @"String {00020329-0000-0000-C000-000000000046} Name"+ string.Format(" cecp-{0}", addinManifestId );
    var url = $"<apiEndpoint>/messages/<youritemid>?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyname}')";

    更多信息

    文档可在此处获得 https://msdn.microsoft.com/en-us/library/hh968549(v=exchg.80).aspx

    当我需要为我的加载项处理“已发送邮件”时,我遇到了类似的问题 Keluro .
    我使用 REST API 上的网络 Hook 实现了一些非常接近您的方法的方法。据我所知,这是处理已发送元素的唯一方法。
    考虑对此进行投票
    https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/10964871-add-itemsend-event-so-add-in-can-cancel-email

    关于office-js - 通过 Microsoft Graph 在 Outlook 加载项中设置自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43130810/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com