首页 > 解决方案 > 使用 Exchange 附件 ID 从所选邮件创建带有附件的邮件

问题描述

当您遍历 时Office.context.mailbox.item.attachments,每个AttachmentDetails对象都有id作为 Exchange 附件 ID。

我假设 Exchange 附件 ID 与EWSID 相同。

我正在尝试将当前消息中的附件添加到新的回复表单中,我使用该displayReplyAllForm方法打开该表单。我正在使用id原始邮件中的附件。

我收到以下错误:

附加一个或多个附件时出错。您可以关闭此响应并在应用程序中重试。

在此处输入图像描述

以下是我正在使用的代码:

if (item.attachments.length > 0) {
    var attach = item.attachments[1];
    attachments.push({
        'type': 'item',
        'name': attach.name,
        'itemId': attach.id
    });
    closeOutlookCLIDoc(true);
    Office.context.mailbox.item.displayReplyAllForm({
        'htmlBody': '',
        'attachments': attachments
    });
}

在此处输入图像描述

请确认消息的AttachmentDetails.idfromattachments对象,根据文档:Exchange attachment ID of the attachment,与from相同,根据文档:The EWS item id of the attachment。这是一个最多 100 个字符的字符串。?formData.attachments.itemIdOffice.context.mailbox.item.displayReplyAllForm

这是我正在关注的指南。

标签: outlookoutlook-addinadd-inoffice-js

解决方案


displayReplyForm API 需要 EWS项目ID。您通过附件集合获得的是附件ID。简而言之,我们没有允许您将附件 ID 传递到 displayReplyForm API 并将该项目添加为附件的 API。您必须获取该附件并将其作为项目保存在用户的某个文件夹中,以便您可以传递其 EWS 项目 ID,或者您必须获取附件字节,将它们放在 URL 上,然后添加文件附件。


推荐阅读