Я пытаюсь получить содержимое вложения из почтового элемента с помощью вызова API Office.context.mailbox.item.getAttachmentsAsync () из моей надстройки, однако я сталкиваюсь с некоторыми неожиданными результатами ...
В моей надстройке я получаю список всех вложений в почтовом элементе:
var listOfAttachments = item.attachments;
if (listOfAttachments.length > 0) {
for (i = 0; i < listOfAttachments.length; i++) {
_att = listOfAttachments[i];
console.log("Attachment name: " + _att.name);
console.log("Attachment type: " + _att.attachmentType);
console.log("Attachment content type: " + _att.contentType);
console.log("Attachment ID: " + _att.id);
console.log("string length: " + _att.id.length);
}
Это отлично работает ... Однако я понял, что идентификатор вложения,длиннее 100 символов (на самом деле 180 символов).А в API-ссылке функции getAttachmentContentAsync () первым параметром является идентификатор вложения, который указывается ссылкой: «Идентификатор вложения, которое вы хотите получить. Максимальная длина строки составляет 100 символов».
Итак, основываясь на этом, я думаю, что определил проблему.Вопрос сейчас в том, как ее решить.Какой идентификатор вложения ожидает этот API?
Спасибо!
Обновление: это код, который я использую для получения содержимого вложения:
var options = { asyncContext: { type: _att.attachmentType } };
item.getAttachmentContentAsync(_att.id, options, function (result) {
if (result.status == Office.AsyncResultStatus.Succeeded) {
console.log("Call returned success!");
var AttachmentContent = result.value; // Get the attachment content
if (AttachmentContent.format == Office.MailboxEnums.AttachmentContentFormat.Base64) {
// handle file attachment
console.log("Base64 String: " + AttachmentContent.content);
}
else if (result.format == Office.MailboxEnums.AttachmentContentFormat.Eml) {
// handle item attachment
}
else {
// handle cloud attachment
}
} else {
var err = result.error;
console.log("Call failed: " + err.name + ": " + err.message);
}
});
Ошибкачто я получаю это: Невозможно получить свойство «статус» неопределенной или нулевой ссылки
1016 * для целей поиска неисправностей, я распечатал крепежную ID: AAMkADU4OTU2Mjg4LThiNzktNDY0Yi1hZmE4LWFmMjAzZjczYjIxOQBGAAAAAADiRE + 1naePQ7MPCJEcJqgqBwCgpNXsitDwTY / mc0w2Y / zOAAAAAAEMAACgpNXsitDwTY / mc0w2Y / zOAAARXFqBAAABEgAQAN0M5JhRvPxIoP5KYNYRk54 =
Я прочитал с нескольких страниц, что другой API ожидает немного другой формат идентификатора вложения.Так что я не уверен, является ли это источником проблемы ...