Javascript 从Outlook加载项读取ExtendedProperties
我目前正在使用EWS管理的API(C#)在Javascript 从Outlook加载项读取ExtendedProperties,javascript,outlook-addin,exchangewebservices,extended-properties,Javascript,Outlook Addin,Exchangewebservices,Extended Properties,我目前正在使用EWS管理的API(C#)在日历文件夹上设置自定义扩展属性: 绑定日历文件夹时,我还可以使用托管API加载这些设置: var myCalendar = CalendarFolder.Bind(service, folderId, requestedPropertySet); 接下来,我想阅读这些相同的ExtendedProperties,但是来自使用officejavascript库的Outlook插件 从外观上看,Outlook库不公开任何离开Office.context.it
日历文件夹上设置自定义扩展属性
:
绑定日历文件夹时,我还可以使用托管API加载这些设置:
var myCalendar = CalendarFolder.Bind(service, folderId, requestedPropertySet);
接下来,我想阅读这些相同的ExtendedProperties
,但是来自使用officejavascript库的Outlook插件
从外观上看,Outlook库不公开任何离开Office.context.item
以访问ExtendedProperties
的方法
库中是否有允许我访问此文件的方法?如果没有,我是否可以使用在URL路径中具有GUID的模式方法()http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-0000000000 46}/yourProp“
)?要访问外接程序中文件夹的自定义属性,您需要使用MakeEWRequestAsync在外接程序中创建GetFolder。要获得正确的SOAP消息,只需在EWS管理的API代码中启用跟踪,该代码将输出您可以转换的SOAP。需要注意的一件事是在应用程序中创建MakeWSRequestAsync的安全要求,例如ReadWriteEmailBox要访问加载项中文件夹的自定义属性,您需要使用MakeWSRequestAsync在加载项中创建GetFolder。要获得正确的SOAP消息,只需在EWS管理的API代码中启用跟踪,该代码将输出您可以转换的SOAP。需要注意的一件事是在应用程序(例如ReadWriteEmailBox)中创建makeEwsRequestAsync的安全要求。从现在起(2018年7月),编写Outlook加载项时访问自定义ExtendedProperties的首选方法是使用
有一些示例代码显示了如何将API与Office插件JavaScript库一起使用,可从中获得
要使用API,您需要从当前Outlook邮箱获取身份验证令牌。这可以使用带有关键字参数{isRest:true}
的Office.context.mailbox.getCallbackTokenAsync()
方法来完成。您还应该使用Office.context.mailbox.restUrl
属性来获取API调用的正确基本URL
有几种方法可以从JavaScript实际调用RESTAPI,但在客户端实现RESTAPI的最简单方法是使用AJAX调用。在您的示例中,这看起来像:
const getMessageUrl = Office.context.mailbox.restUrl
+ "/v2.0/me/mailFolders/" + <folder id> + "?"
+ "$expand=singleValueExtendedProperties"
+ "($filter=PropertyId eq '<property id>')";
$.ajax({
url: getMessageUrl,
datatype: 'json',
headers: {'Authorization': 'Bearer ' + <auth token>}
}).then(item => {
// your code here
})
如果您与我一样,试图访问GUID规则之前的属性,则您的可能如下所示:
"String 0x007D"
截至目前(2018年7月),在编写Outlook加载项时,访问自定义ExtendedProperties的首选方法是使用
有一些示例代码显示了如何将API与Office插件JavaScript库一起使用,可从中获得
要使用API,您需要从当前Outlook邮箱获取身份验证令牌。这可以使用带有关键字参数{isRest:true}
的Office.context.mailbox.getCallbackTokenAsync()
方法来完成。您还应该使用Office.context.mailbox.restUrl
属性来获取API调用的正确基本URL
有几种方法可以从JavaScript实际调用RESTAPI,但在客户端实现RESTAPI的最简单方法是使用AJAX调用。在您的示例中,这看起来像:
const getMessageUrl = Office.context.mailbox.restUrl
+ "/v2.0/me/mailFolders/" + <folder id> + "?"
+ "$expand=singleValueExtendedProperties"
+ "($filter=PropertyId eq '<property id>')";
$.ajax({
url: getMessageUrl,
datatype: 'json',
headers: {'Authorization': 'Bearer ' + <auth token>}
}).then(item => {
// your code here
})
如果您与我一样,试图访问GUID规则之前的属性,则您的可能如下所示:
"String 0x007D"
我不知道有什么方法可以分析发送的SOAP消息。那是丢失的一块。非常感谢。我不知道有什么方法可以分析发送的SOAP消息。那是丢失的一块。非常感谢。