Надстройка Office Outlook - добавление вложения из безопасного места

Я добавляю команду «Добавить вложение» как часть надстройки Office Outlook.

Я хочу найти способ добавить файл по URL-адресу с авторизацией.

Я думал загрузить его с помощью ajax, а затем сохранить из большого двоичного объекта, но похоже, что команда его не поддерживает. Мой код, тестирующий его, терпит неудачу:

const text = 'attachment content';
const blob = new Blob([text], {type: 'text/plain'});
const attachmentURI = window.URL.createObjectURL(blob);

Office.context.mailbox.item.addFileAttachmentAsync(
  attachmentURI,
  'file.txt',
  { asyncContext: null },
  function (asyncResult) {
    if(asyncResult.status == Office.AsyncResultStatus.Failed){
       console.log('error adding attachment: ' + asyncResult.error.message);
    }
    else {
      const attachmentID = asyncResult.value;
      console.log('added attachment: ' + attachmentID);
    }
  }
);

Есть предложения по сохранению вложения из URL-адреса с разрешениями?

Документация по функциям: https://dev.office.com/docs/add-ins/outlook/add-and-remove-attachments-to-an-item-in-a-compose-form


person Vitali Zaidman    schedule 06.04.2016    source источник


Ответы (2)


Если вы пытаетесь прикрепить к электронному письму локальный файл с ПК пользователя, то, к сожалению, вы не можете этого сделать, поскольку, конечно же, это JavaScript. Методы вложения в API надстройки Outlook могут работать только с веб-файлами. Вам понадобится веб-форма или другой механизм для загрузки файла в веб-службу в доступное расположение URI, на которое затем можно будет указать с помощью метода addFileAttachmentAsync. Веб-API ASP.NET может стать альтернативой реализации вашей веб-службы в.

person Eric Legault    schedule 07.04.2016

В addFileAttachmentAsync параметр attachmentURI отправляется на сервер (в случае OWA) или в приложение Outlook (настольный Outlook). Затем либо Сервер, либо Outlook загружает файл и прикрепляет его к электронному письму. Если OWA / Outlook не может получить доступ к указанному вами URI, это не сработает.

person Tim Wan    schedule 02.05.2016
comment
Обратите внимание: если это функция, которая вам нужна и не можете найти обходной путь, вам следует внести предложения по новым API на странице: officepdev.uservoice.com/forums/224641-general/category/ - person Tim Wan; 07.05.2016