【发布时间】:2018-11-14 03:19:13
【问题描述】:
我正在开发适用于 Outlook 的 Office 插件。需要打开带有预定义附件的新邮件。
尝试从当前项目(消息)中获取附件,如下所示:
Office.context.mailbox.item.attachments
这是一个输出(我得到附件类型、id、大小等):
然后我尝试通过加载项 Outlook API 将此文件附加到 Outlook 中的新邮件,这是来自 Office Developer 的示例,我用它来附加我刚刚从另一封电子邮件中获得的文件(例如 '转发功能):
Office.context.mailbox.displayNewMessageForm(
{
toRecipients: Office.context.mailbox.item.to, // Copy the To line from current item
ccRecipients: ['sam@contoso.com'],
subject: 'Outlook add-ins are cool!',
htmlBody: 'Hello <b>World</b>!<br/><img src="cid:image.png"></i>',
attachments: [
{
type: 'file',
name: 'image.png',
url: 'http://contoso.com/image.png',
isInline: true
}
]
});
这是一个问题:我收到一个异常“值不在预期范围内”。参数名称:附件。
非常感谢您的帮助。
【问题讨论】:
-
根据文档,您提供的屏幕截图显示错误的参数设置。 EWS
ItemId的附件只能输入“item”,屏幕截图显示附件为“file”。屏幕截图上的代码看起来不正确,因为attachment对象具有属性itemId并且该对象中没有id。我建议您发布您实际使用的代码,而不是文档中的示例。 -
实际上,我尝试了不同的场景,也尝试添加为项目,但错误相同prntscr.com/jr6hsd
-
您的代码的最后一个屏幕截图也有错误。请仔细阅读documentation。 1.
isInline属性不应为type设置值'item'。 2.当type设置为'item'时,你必须设置itemId属性;你的代码由于某种原因设置id。 -
哦,是的,你是对的,我修复了选项,但是打开了一个没有附件的新窗口。我认为 Office.context.mailbox.item.attachments[0].id 不是 itemId,因为 ItemId 是一个最多 100 个字符的字符串(按文档),但我的 Id 长度为 160。你有建议如何获取或转换将 id 附加到 ews id? prntscr.com/jr92w6
标签: api outlook-addin add-in office-js outlook-restapi