Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Office js 在Office.js中区分会议请求和邮件撰写_Office Js - Fatal编程技术网

Office js 在Office.js中区分会议请求和邮件撰写

Office js 在Office.js中区分会议请求和邮件撰写,office-js,Office Js,目前,Office.js通过访问Office.context.mailbox.item.itemType上的itemType,让您知道是否正在编写会议邀请,这对于编写/创建会议非常有效,因为您可以获得预期的约会值 然而,当与会者回复/转发此邀请时,项目类型被视为消息,我可以看出这样做的原因,但这使得我们很难在发送项目时推断是否应该执行某些操作,因为我们根本不知道它是否与会议邀请相关 是否有一种方法,在编写项目时,我们可以确定这是对会议邀请的响应还是对实际消息的响应 我尝试过访问各种属性,如会议组

目前,Office.js通过访问
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会在某个时候提供这一功能,但目前这似乎是一个足够的解决方案

可以找到所有类型的消息类和项目类型