我如何在事件项中存储自定义数据,以便与会者也可以获取该自定义数据?

问题描述

我们可以/应该使用哪些属性在事件项中存储自定义json数据? 我们目前正在尝试开发一个Web加载项,该加载项的形式应在Event项目的属性内以json的形式发送,因此每当其他人(即与会者)打开该加载项时,为他们展示。

在VSTO C#加载项中,我们可以为此设置一个Outlook.UserProperty,只要组织者编辑该值,该Outlook.UserProperty就会传播给与会者。

在javascript中,我尝试了以下操作:

  1. 通过使用Office.context.mailBox.item.loadCustomPropertiesAsync获取值并通过properties.set(FORM_KEY,JSON.stringify(jsonObject)); properties.saveAsync(...);设置值来设置CustomProperties值。

  2. 像这样创建SingleValueExtendedProperty:

fetch(Office.context.mailBox.restUrl+"/v2.0/me/events('"+getRestId(itemId)+"')",{
    method: "PATCH",headers: {
        "Content-Type": "application/json",Authorization: "Bearer " + accesstoken
    },body: JSON.stringify({
        SingleValueExtendedProperties: [
            { 
              PropertyId: singleValueExtendedPropertyId,Value: JSON.stringify(jsonObject)
            }
        ]
    })
})
  1. 像这样创建数据扩展名:
fetch(Office.context.mailBox.restUrl+"/v2.0/me/events('"+getRestId(itemId)+"')/extensions('Microsoft.OutlookServices.OpenTypeExtension."+extensionName+"')",{ 
    method: "PATCH",body: 
        JSON.stringify({
            "@odata.type": "Microsoft.OutlookServices.OpenTypeExtension",ExtensionName: extensionName,Value: JSON.stringify(jsonObject)
        })
})

所有这些工作适用于组织者 ... 它们永远不会传播给与会者。

解决方法

当前,不支持将有关自定义数据的事件/会议存储为与会者和组织者均可访问。我们在user-voice page上跟踪Outlook加载项功能请求。请在此处添加您的请求。当我们进行规划过程时,会考虑用户语音上的功能请求。