Office加载项Outlook API使用displayNewMessageForm方法附加文档问题

Office加载项Outlook API使用displayNewMessageForm方法附加文档问题,api,outlook-addin,add-in,office-js,outlook-restapi,Api,Outlook Addin,Add In,Office Js,Outlook Restapi,我正在为Outlook开发office加载项。需要打开带有预定义附件的新邮件 正在尝试从当前项目(邮件)获取附件,如下所示: Office.context.mailbox.item.attachments 这是一个输出(我得到附件类型、id、大小等): 然后,我尝试通过外接程序Outlook API将此文件附加到Outlook中的新邮件,下面是一个示例,我使用该示例附加刚从其他电子邮件中获得的文件(如“转发”功能): Office.context.mailbox.displayNewMes

我正在为Outlook开发office加载项。需要打开带有预定义附件的新邮件

正在尝试从当前项目(邮件)获取附件,如下所示:

 Office.context.mailbox.item.attachments
这是一个输出(我得到附件类型、id、大小等):

然后,我尝试通过外接程序Outlook API将此文件附加到Outlook中的新邮件,下面是一个示例,我使用该示例附加刚从其他电子邮件中获得的文件(如“转发”功能):

Office.context.mailbox.displayNewMessageForm(
{
toRecipients:Office.context.mailbox.item.to,//从当前项复制到行
收件人:['sam@contoso.com'],
主题:“Outlook加载项很酷!”,
htmlBody:“你好,世界!
”, 附件:[ { 键入:“文件”, 名称:“image.png”, 网址:'http://contoso.com/image.png', 伊辛琳:是的 } ] });
这里有一个问题:我收到一个异常“值不在预期范围内”。参数名称:附件


非常感谢您的帮助。

根据上的文档,目前支持两种附件类型。要将文件附加到项目,附件对象应如下所示。。。

若要附加现有邮件中的项目,对象应看起来

{
    type: 'item',
    name: 'image.png',
    itemId: 'ews_item_id_goes_here'
}

根据文档,您提供的屏幕截图显示了错误的参数集。带有EWS
ItemId
的附件只能是类型“
item
”,屏幕截图显示附件为“
文件
”。屏幕截图上的代码看起来不正确,因为
附件
对象具有属性
itemId
,并且此对象中没有
id
。我建议您发布您实际使用的代码,而不是文档中的示例。事实上,我尝试了不同的场景,也尝试将其作为一个项目添加,但错误相同。您代码的最后一个屏幕截图也有错误。请仔细阅读。1. <不应为值为“
项”
”的
类型设置code>isInline
属性。2.当
type
设置为“
item
”时,必须设置
itemId
属性;你的代码由于某种原因设置了
id
。哦,是的,你是对的,我修复了选项,但是一个新窗口打开了,没有附件。我认为Office.context.mailbox.item.attachments[0]。id不是itemId,因为itemId是最多100个字符的字符串(根据文档),但我的id长度为160。您对如何获取附件id或将其转换为ews id有何建议?谢谢,如果我使用item.itemId作为附件,这是可行的,但是当我使用Office.context.mailbox.item.attachments[0].id时,我有一封没有附件的新邮件,我想id的问题是,你知道如何获得正确的ews id吗?要将REST格式的
itemId
转换为ews,请使用函数yes,我也试过这个,但它不起作用。实际上,在这个方法之后,什么也不会发生——id是相同的。我尝试在服务器()上使用SOAP请求,但它仍在工作,但主要目标是为新邮件添加附加。@SamLewis My bad,当您在
Office.context.mailbox.item.attachments
中迭代时,附件的id应为Exchange附件id,我假设这个Id与EWS Id相同。我不确定为什么这个Id不能与
附件
对象一起使用。您是否介意发布另一个关于ID的问题?@SamLewis显然,您可以使用类似于的XML请求直接从Exchange中使用和检索附件ID,但它没有解释为什么不能使用附件列表中的ID。
{
    type: 'file',
    name: 'image.png',
    url: 'http://contoso.com/image.png',
    isInline: true
}
{
    type: 'item',
    name: 'image.png',
    itemId: 'ews_item_id_goes_here'
}