Office js 在Office.js中区分会议请求和邮件撰写
目前,Office.js通过访问Office js 在Office.js中区分会议请求和邮件撰写,office-js,Office Js,目前,Office.js通过访问Office.context.mailbox.item.itemType上的itemType,让您知道是否正在编写会议邀请,这对于编写/创建会议非常有效,因为您可以获得预期的约会值 然而,当与会者回复/转发此邀请时,项目类型被视为消息,我可以看出这样做的原因,但这使得我们很难在发送项目时推断是否应该执行某些操作,因为我们根本不知道它是否与会议邀请相关 是否有一种方法,在编写项目时,我们可以确定这是对会议邀请的响应还是对实际消息的响应 我尝试过访问各种属性,如会议组
Office.context.mailbox.item.itemType
上的itemType
,让您知道是否正在编写会议邀请,这对于编写/创建会议非常有效,因为您可以获得预期的约会
值
然而,当与会者回复/转发此邀请时,项目类型被视为消息
,我可以看出这样做的原因,但这使得我们很难在发送项目时推断是否应该执行某些操作,因为我们根本不知道它是否与会议邀请相关
是否有一种方法,在编写项目时,我们可以确定这是对会议邀请的响应还是对实际消息的响应
我尝试过访问各种属性,如会议组织者和与会者,但它们都未定义。因此,这不是一种纯粹针对Office.js的方法,但它适用于我们现有的用例 您必须在邮箱对象上调用
getCallbackTokenAsync()
和restUrl
,记住首先在项目上使用saveAsync()
保存项目,这将为您提供当前邮箱的项目ID和端点。然后,您可以使用Outlook REST API向以下端点发送GET请求${messageBaseUrl}?$expand=SingleValueExtendedProperties($filter=PropertyId eq'String 0x001A')”
在返回的响应中,将有以下属性,其中包含一个值,您可以使用该值检查Office.js提供给您的项目类型之外的项目类型
"SingleValueExtendedProperties": [
{
"PropertyId": "String 0x1a",
"Value": "IPM.Schedule.Meeting.Request"
}
]
在上面的响应中,我试图将会议邀请转发给其他人,而Office.js报告了一条itemType消息
,您可以看到我们请求的MAPI属性告诉我们这实际上是一个会议请求
理想情况下,随着itemType变得更加精确,Office.js API会在某个时候提供这一功能,但目前这似乎是一个足够的解决方案
所有类型的消息类和项目类型都可以找到;因此,这不是一种纯粹针对Office.js的方法,但它适用于我们现有的用例 您必须在邮箱对象上调用
getCallbackTokenAsync()
和restUrl
,记住首先使用saveAsync()保存项目
在项目上,这将为您提供当前邮箱的项目ID和终结点。然后,您可以使用Outlook REST API向以下终结点发送GET请求${messageBaseUrl}?$expand=SingleValueExtendedProperties($filter=PropertyId eq'String 0x001A')”
在返回的响应中,将有以下属性,其中包含一个值,您可以使用该值检查Office.js提供给您的项目类型之外的项目类型
"SingleValueExtendedProperties": [
{
"PropertyId": "String 0x1a",
"Value": "IPM.Schedule.Meeting.Request"
}
]
在上面的响应中,我试图将会议邀请转发给其他人,而Office.js报告了一条itemType消息
,您可以看到我们请求的MAPI属性告诉我们这实际上是一个会议请求
理想情况下,随着itemType变得更加精确,Office.js API会在某个时候提供这一功能,但目前这似乎是一个足够的解决方案
可以找到所有类型的消息类和项目类型