Office.MessageCompose interface

Режим создания сообщения Office.context.mailbox.item.

Важно! Это внутренний объект Outlook, который не предоставляется напрямую через существующие интерфейсы. Этот режим следует рассматривать как режим Office.context.mailbox.item. Дополнительные сведения см. на странице Объектная модель .

Родительские интерфейсы:

Extends

Свойства

bcc

Возвращает объект, предоставляющий методы для получения или обновления получателей в строке ск ( слепой копии) сообщения.

В зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients .

body

Получает объект, предоставляющий методы для работы с основным текстом элемента.

cc

Предоставляет доступ к получателям копии сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента.

Свойство cc возвращает объект Recipients, предоставляющий методы для получения или обновления получателей, которые указаны в строке Копия сообщения. Однако в зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients .

conversationId

Получает идентификатор разговора по электронной почте, содержащего конкретное сообщение.

Вы можете получить целочисленное значение этого свойства, если ваше почтовое приложение активируется в формах просмотра или формах создания ответов. Если пользователь изменит тему ответа, после его отправки идентификатор беседы будет изменен, и полученное ранее значение будет недействительным.

Это свойство имеет значение NULL для нового элемента в форме создания. Свойство conversationId вернет значение, если пользователь задаст тему и сохранит элемент.

itemType

Получает тип элемента, который представляет экземпляр.

Свойство itemType возвращает одно из значений ItemType перечисления, указывающее, является ли экземпляр объекта элемента сообщением или встречей.

notificationMessages

Получает сообщения уведомления для элемента.

subject

Получает или задает описание, которое отображается в поле темы элемента.

Свойство subject получает или задает всю тему элемента для отправки с почтового сервера.

Свойство subject возвращает объект Subject, который предоставляет методы для получения и задания темы.

to

Предоставляет доступ к получателям, указанным в строке Кому сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента.

Свойство to возвращает объект Recipients, предоставляющий методы для получения или обновления получателей, которые указаны в строке Кому сообщения. Однако в зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients .

Методы

addFileAttachmentAsync(uri, attachmentName, options, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentAsync передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Важно! В последних сборках Outlook для Windows появилась ошибка, которая неправильно добавляет Authorization: Bearer заголовок к этому действию (с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, попробуйте использовать API, представленный addFileAttachmentFromBase64 с набором требований 1.8.

addFileAttachmentAsync(uri, attachmentName, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentAsync передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Важно! В последних сборках Outlook для Windows появилась ошибка, которая неправильно добавляет Authorization: Bearer заголовок к этому действию (с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, попробуйте использовать API, представленный addFileAttachmentFromBase64 с набором требований 1.8.

addItemAttachmentAsync(itemId, attachmentName, options, callback)

Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.

С помощью метода addItemAttachmentAsync можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если указать функцию обратного вызова, метод вызывается с одним параметром , asyncResultкоторый содержит идентификатор вложения или код, указывающий на любую ошибку, которая произошла при присоединении элемента. Параметр options можно использовать для передачи сведений о состоянии функции обратного вызова, если это необходимо.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Если ваша надстройка Office выполняется в Outlook в Интернете, метод addItemAttachmentAsync обеспечивает вложение элементов в элементы, отличные от редактируемого. Однако это действие не рекомендуется выполнять, так как оно не поддерживается.

addItemAttachmentAsync(itemId, attachmentName, callback)

Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.

С помощью метода addItemAttachmentAsync можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если указать функцию обратного вызова, метод вызывается с одним параметром , asyncResultкоторый содержит идентификатор вложения или код, указывающий на любую ошибку, которая произошла при присоединении элемента. Параметр options можно использовать для передачи сведений о состоянии функции обратного вызова, если это необходимо.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Если ваша надстройка Office выполняется в Outlook в Интернете, метод addItemAttachmentAsync обеспечивает вложение элементов в элементы, отличные от редактируемого. Однако это действие не рекомендуется выполнять, так как оно не поддерживается.

close()

Закрывает текущий создаваемый элемент.

Работа метода close зависит от текущего состояния создаваемого элемента. Если элемент содержит несохраненные изменения, клиент предлагает пользователю сохранить, отменить или закрыть действие.

В классическом клиенте close Outlook метод не влияет на ответ в области чтения.

getSelectedDataAsync(coercionType, options, callback)

Асинхронно возвращает данные, выбранные в теме или тексте сообщения.

Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection.

Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите .asyncResult.value.data Чтобы получить доступ к свойству источника, из которого происходит выбор, вызовите asyncResult.value.sourceProperty, который будет иметь значение body или subject.

getSelectedDataAsync(coercionType, callback)

Асинхронно возвращает данные, выбранные в теме или тексте сообщения.

Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection.

Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите .asyncResult.value.data Чтобы получить доступ к свойству источника, из которого происходит выбор, вызовите asyncResult.value.sourceProperty, который будет иметь значение body или subject.

loadCustomPropertiesAsync(callback, userContext)

Асинхронно загружает настраиваемые свойства для надстройки для выбранного элемента.

Пользовательские свойства хранятся в виде пар "ключ-значение" для каждого приложения и каждого элемента. Этот метод возвращает объект CustomProperties в обратном вызове, который предоставляет методы для доступа к пользовательским свойствам, характерным для текущего элемента и текущей надстройки. Пользовательские свойства не шифруются в элементе, поэтому их не следует использовать в качестве безопасного хранилища.

Настраиваемые свойства предоставляются в виде объекта CustomProperties в свойстве asyncResult.value. Этот объект можно использовать для получения, задания, сохранения и удаления настраиваемых свойств из почтового элемента.

removeAttachmentAsync(attachmentId, options, callback)

Удаляет вложение из сообщения или встречи.

Метод removeAttachmentAsync удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете и на мобильных устройствах идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, затем открывает форму для продолжения в отдельном окне.

removeAttachmentAsync(attachmentId, callback)

Удаляет вложение из сообщения или встречи.

Метод removeAttachmentAsync удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете и на мобильных устройствах идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, затем открывает форму для продолжения в отдельном окне.

saveAsync(options, callback)

Асинхронно сохраняет текущее сообщение в виде черновика.

saveAsync(callback)

Асинхронно сохраняет текущее сообщение в виде черновика.

setSelectedDataAsync(data, options, callback)

Асинхронно вставляет данные в текст или тему сообщения.

Метод setSelectedDataAsync вставляет указанную строку в положение курсора в теме или тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор не находится в поле текст или тема, возвращается ошибка. После вставки курсор помещается в конец вставленного содержимого.

setSelectedDataAsync(data, callback)

Асинхронно вставляет данные в текст или тему сообщения.

Метод setSelectedDataAsync вставляет указанную строку в положение курсора в теме или тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор не находится в поле текст или тема, возвращается ошибка. После вставки курсор помещается в конец вставленного содержимого.

Сведения о свойстве

bcc

Возвращает объект, предоставляющий методы для получения или обновления получателей в строке ск ( слепой копии) сообщения.

В зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients .

bcc: Recipients;

Значение свойства

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

Office.context.mailbox.item.bcc.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.bcc.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.bcc.getAsync(callback);

function callback(asyncResult) {
    const arrayOfBccRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-bcc-message-compose.yaml

Office.context.mailbox.item.bcc.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgBcc = asyncResult.value;
    console.log("Message being blind-copied to:");
    for (let i = 0; i < msgBcc.length; i++) {
      console.log(msgBcc[i].displayName + " (" + msgBcc[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = $("#emailBcc")
  .val()
  .toString();
const emailArray = [email];
Office.context.mailbox.item.bcc.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting Bcc field.");
  } else {
    console.error(asyncResult.error);
  }
});

body

Получает объект, предоставляющий методы для работы с основным текстом элемента.

body: Body;

Значение свойства

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
    "text",
    { asyncContext: "This is passed to the callback" },
    function callback(result) {
        // Do something with the result.
    });

// The following is an example of the result parameter passed to the callback function.
{
    "value": "TEXT of whole body (including threads below)",
    "status": "succeeded",
    "asyncContext": "This is passed to the callback"
}

cc

Предоставляет доступ к получателям копии сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента.

Свойство cc возвращает объект Recipients, предоставляющий методы для получения или обновления получателей, которые указаны в строке Копия сообщения. Однако в зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients .

cc: Recipients;

Значение свойства

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

Office.context.mailbox.item.cc.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.cc.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.cc.getAsync(callback);

function callback(asyncResult) {
    const arrayOfCcRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-cc-message-compose.yaml

Office.context.mailbox.item.cc.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgCc = asyncResult.value;
    console.log("Message being copied to:");
    for (let i = 0; i < msgCc.length; i++) {
      console.log(msgCc[i].displayName + " (" + msgCc[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = $("#emailCc")
  .val()
  .toString();
const emailArray = [email];
Office.context.mailbox.item.cc.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting Cc field.");
  } else {
    console.error(asyncResult.error);
  }
});

conversationId

Получает идентификатор разговора по электронной почте, содержащего конкретное сообщение.

Вы можете получить целочисленное значение этого свойства, если ваше почтовое приложение активируется в формах просмотра или формах создания ответов. Если пользователь изменит тему ответа, после его отправки идентификатор беседы будет изменен, и полученное ранее значение будет недействительным.

Это свойство имеет значение NULL для нового элемента в форме создания. Свойство conversationId вернет значение, если пользователь задаст тему и сохранит элемент.

conversationId: string;

Значение свойства

string

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-conversation-id-message.yaml

console.log(`Conversation ID: ${Office.context.mailbox.item.conversationId}`);

itemType

Получает тип элемента, который представляет экземпляр.

Свойство itemType возвращает одно из значений ItemType перечисления, указывающее, является ли экземпляр объекта элемента сообщением или встречей.

itemType: MailboxEnums.ItemType | string;

Значение свойства

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-type.yaml

const itemType = Office.context.mailbox.item.itemType;
switch (itemType) {
    case Office.MailboxEnums.ItemType.Appointment:
        console.log(`Current item is an ${itemType}.`);
        break;
    case Office.MailboxEnums.ItemType.Message:
        console.log(`Current item is a ${itemType}. A message could be an email, meeting request, meeting response, or meeting cancellation.`);
        break;
}

notificationMessages

Получает сообщения уведомления для элемента.

notificationMessages: NotificationMessages;

Значение свойства

Комментарии

[ Набор API: Почтовый ящик 1.3 ]

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/35-notifications/add-getall-remove.yaml

// Adds a progress indicator to the mail item.
const id = $("#notificationId").val().toString();
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.ProgressIndicator,
    message: "Progress indicator with id = " + id
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);

...

// Adds an informational notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Non-persistent informational notification message with id = " + id,
    icon: "icon1",
    persistent: false
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);

...

// Adds a persistent information notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Persistent informational notification message with id = " + id,
    icon: "icon1",
    persistent: true
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);

...

// Gets all the notification messages and their keys for the current mail item.
Office.context.mailbox.item.notificationMessages.getAllAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log(asyncResult.error.message);
    return;
  }

  console.log(asyncResult.value);
});

...

// Replaces a notification message of a given key with another message.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.replaceAsync(
  id,
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Notification message with id = " + id + " has been replaced with an informational message.",
    icon: "icon2",
    persistent: false
  },
  handleResult);

...

// Removes a notification message from the current mail item.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.removeAsync(id, handleResult);

subject

Получает или задает описание, которое отображается в поле темы элемента.

Свойство subject получает или задает всю тему элемента для отправки с почтового сервера.

Свойство subject возвращает объект Subject, который предоставляет методы для получения и задания темы.

subject: Subject;

Значение свойства

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-subject-compose.yaml

Office.context.mailbox.item.subject.getAsync((result) => {
  if (result.status !== Office.AsyncResultStatus.Succeeded) {
    console.error(`Action failed with message ${result.error.message}`);
    return;
  }
  console.log(`Subject: ${result.value}`);
});

...

let subject = "Hello World!";
Office.context.mailbox.item.subject.setAsync(subject, (result) => {
  if (result.status !== Office.AsyncResultStatus.Succeeded) {
    console.error(`Action failed with message ${result.error.message}`);
    return;
  }
  console.log(`Successfully set subject to ${subject}`);
});

to

Предоставляет доступ к получателям, указанным в строке Кому сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента.

Свойство to возвращает объект Recipients, предоставляющий методы для получения или обновления получателей, которые указаны в строке Кому сообщения. Однако в зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients .

to: Recipients;

Значение свойства

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

Office.context.mailbox.item.to.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.to.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.to.getAsync(callback);

function callback(asyncResult) {
    const arrayOfToRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-to-message-compose.yaml

Office.context.mailbox.item.to.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgTo = asyncResult.value;
    console.log("Message being sent to:");
    for (let i = 0; i < msgTo.length; i++) {
      console.log(msgTo[i].displayName + " (" + msgTo[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = $("#emailTo")
  .val()
  .toString();
const emailArray = [email];
Office.context.mailbox.item.to.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting To field.");
  } else {
    console.error(asyncResult.error);
  }
});

Сведения о методе

addFileAttachmentAsync(uri, attachmentName, options, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentAsync передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Важно! В последних сборках Outlook для Windows появилась ошибка, которая неправильно добавляет Authorization: Bearer заголовок к этому действию (с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, попробуйте использовать API, представленный addFileAttachmentFromBase64 с набором требований 1.8.

addFileAttachmentAsync(uri: string, attachmentName: string, options: Office.AsyncContextOptions & { isInline: boolean }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

uri

string

Универсальный код ресурса (URI), представляющий расположение файла, который нужно вложить в сообщение или встречу. Максимальная длина — 2048 символов.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

options

Office.AsyncContextOptions & { isInline: boolean }

Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова. isInline: если значение true, означает, что вложение будет отображаться в тексте сообщения и не должно отображаться в списке вложений.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value. Если добавить вложение не удастся, объект asyncResult будет содержать объект Error с описанием ошибки.

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Ошибки:

  • AttachmentSizeExceeded: вложение больше допустимого размера.

  • FileTypeNotSupported: вложение имеет расширение, которое запрещено.

  • NumberOfAttachmentsExceeded: сообщение или встреча содержит слишком много вложений.

Примеры

function callback(result) {
    if (result.error) {
        console.log(result.error);
    } else {
        console.log("Attachment added");
    }
}

function addAttachment() {
    // The values in asyncContext can be accessed in the callback.
    const options = { 'asyncContext': { var1: 1, var2: 2 } };

    const attachmentURL = "https://contoso.com/rtm/icon.png";
    Office.context.mailbox.item.addFileAttachmentAsync(attachmentURL, attachmentURL, options, callback);
}
// The following example adds an image file as an inline attachment and
// references the attachment in the message body.
Office.context.mailbox.item.addFileAttachmentAsync(
    "http://i.imgur.com/WJXklif.png",
    "cute_bird.png",
    {
        isInline: true
    },
    function (asyncResult) {
        Office.context.mailbox.item.body.setAsync(
            "<p>Here's a cute bird!</p><img src='cid:cute_bird.png'>",
            {
                "coercionType": "html"
            },
            function (asyncResult) {
                // Do something here.
            });
    });
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

const attachmentUrl = $("#attachmentUrl").val();
Office.context.mailbox.item.addFileAttachmentAsync(
    attachmentUrl,
    getFileName(attachmentUrl),
    { "asyncContext" : { var1: 1, var2: true } },
    function(result) { console.log(result); });

addFileAttachmentAsync(uri, attachmentName, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentAsync передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Важно! В последних сборках Outlook для Windows появилась ошибка, которая неправильно добавляет Authorization: Bearer заголовок к этому действию (с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, попробуйте использовать API, представленный addFileAttachmentFromBase64 с набором требований 1.8.

addFileAttachmentAsync(uri: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

uri

string

Универсальный код ресурса (URI), представляющий расположение файла, который нужно вложить в сообщение или встречу. Максимальная длина — 2048 символов.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value. Если добавить вложение не удастся, объект asyncResult будет содержать объект Error с описанием ошибки.

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Ошибки:

  • AttachmentSizeExceeded: вложение больше допустимого размера.

  • FileTypeNotSupported: вложение имеет расширение, которое запрещено.

  • NumberOfAttachmentsExceeded: сообщение или встреча содержит слишком много вложений.

addItemAttachmentAsync(itemId, attachmentName, options, callback)

Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.

С помощью метода addItemAttachmentAsync можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если указать функцию обратного вызова, метод вызывается с одним параметром , asyncResultкоторый содержит идентификатор вложения или код, указывающий на любую ошибку, которая произошла при присоединении элемента. Параметр options можно использовать для передачи сведений о состоянии функции обратного вызова, если это необходимо.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Если ваша надстройка Office выполняется в Outlook в Интернете, метод addItemAttachmentAsync обеспечивает вложение элементов в элементы, отличные от редактируемого. Однако это действие не рекомендуется выполнять, так как оно не поддерживается.

addItemAttachmentAsync(itemId: any, attachmentName: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

itemId

any

Идентификатор Exchange для вкладываемого элемента. Максимальная длина — 100 символов.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

options
Office.AsyncContextOptions

Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value. Если добавить вложение не удастся, объект asyncResult будет содержать объект Error с описанием ошибки.

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Ошибки:

  • NumberOfAttachmentsExceeded: сообщение или встреча содержит слишком много вложений.

Примеры

// The following example adds an existing Outlook item as an attachment
// with the name `My Attachment`.
function callback(result) {
    if (result.error) {
        console.log(result.error);
    } else {
        console.log("Attachment added");
    }
}

function addAttachment() {
    // EWS ID of item to attach (shortened for readability).
    const itemId = "AAMkADI1...AAA=";

    // The values in asyncContext can be accessed in the callback.
    const options = { 'asyncContext': { var1: 1, var2: 2 } };

    Office.context.mailbox.item.addItemAttachmentAsync(itemId, "My Attachment", options, callback);
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

const attachmentItemId = $("#attachmentItemId").val();
Office.context.mailbox.item.addItemAttachmentAsync(
    attachmentItemId,
    "My attachment",
    { "asyncContext" : { var3: 3, var4: false } },
    function(result) { console.log(result); });

addItemAttachmentAsync(itemId, attachmentName, callback)

Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.

С помощью метода addItemAttachmentAsync можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если указать функцию обратного вызова, метод вызывается с одним параметром , asyncResultкоторый содержит идентификатор вложения или код, указывающий на любую ошибку, которая произошла при присоединении элемента. Параметр options можно использовать для передачи сведений о состоянии функции обратного вызова, если это необходимо.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Если ваша надстройка Office выполняется в Outlook в Интернете, метод addItemAttachmentAsync обеспечивает вложение элементов в элементы, отличные от редактируемого. Однако это действие не рекомендуется выполнять, так как оно не поддерживается.

addItemAttachmentAsync(itemId: any, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

itemId

any

Идентификатор Exchange для вкладываемого элемента. Максимальная длина — 100 символов.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value. Если добавить вложение не удастся, объект asyncResult будет содержать объект Error с описанием ошибки.

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Ошибки:

  • NumberOfAttachmentsExceeded: сообщение или встреча содержит слишком много вложений.

close()

Закрывает текущий создаваемый элемент.

Работа метода close зависит от текущего состояния создаваемого элемента. Если элемент содержит несохраненные изменения, клиент предлагает пользователю сохранить, отменить или закрыть действие.

В классическом клиенте close Outlook метод не влияет на ответ в области чтения.

close(): void;

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.3 ]

Минимальный уровень разрешений: ограниченный

Применимый режим Outlook: создание сообщений

Важно! В Outlook в Интернете, если элемент является встречей и ранее был сохранен с помощью saveAsync, пользователю будет предложено сохранить, отменить или отменить, даже если с момента последнего сохранения элемента не произошло никаких изменений.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/close.yaml

Office.context.mailbox.item.close();

getSelectedDataAsync(coercionType, options, callback)

Асинхронно возвращает данные, выбранные в теме или тексте сообщения.

Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection.

Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите .asyncResult.value.data Чтобы получить доступ к свойству источника, из которого происходит выбор, вызовите asyncResult.value.sourceProperty, который будет иметь значение body или subject.

getSelectedDataAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;

Параметры

coercionType

Office.CoercionType | string

Запрашивает формат данных. Если Textзадано значение , метод возвращает обычный текст в виде строки, удаляя все присутствующие HTML-теги. Если Htmlзадано значение , метод возвращает выделенный текст, будь то обычный текст или HTML.

options
Office.AsyncContextOptions

Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<any>) => void

После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Выбранные данные в виде строки с форматом, определенным .coercionType

Комментарии

[ Набор API: Почтовый ящик 1.2 ]

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

// Get selected data.
Office.initialize = function () {
    Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, {}, getCallback);
};

function getCallback(asyncResult) {
    const text = asyncResult.value.data;
    const prop = asyncResult.value.sourceProperty;

    console.log("Selected text in " + prop + ": " + text);
}

getSelectedDataAsync(coercionType, callback)

Асинхронно возвращает данные, выбранные в теме или тексте сообщения.

Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection.

Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите .asyncResult.value.data Чтобы получить доступ к свойству источника, из которого происходит выбор, вызовите asyncResult.value.sourceProperty, который будет иметь значение body или subject.

getSelectedDataAsync(coercionType: Office.CoercionType | string, callback: (asyncResult: Office.AsyncResult<any>) => void): void;

Параметры

coercionType

Office.CoercionType | string

Запрашивает формат данных. Если Textзадано значение , метод возвращает обычный текст в виде строки, удаляя все присутствующие HTML-теги. Если Htmlзадано значение , метод возвращает выделенный текст, будь то обычный текст или HTML.

callback

(asyncResult: Office.AsyncResult<any>) => void

После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Выбранные данные в виде строки с форматом, определенным .coercionType

Комментарии

[ Набор API: Почтовый ящик 1.2 ]

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-selected-data.yaml

Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const text = asyncResult.value.data;
    const prop = asyncResult.value.sourceProperty;
    console.log("Selected text in " + prop + ": " + text);
  } else {
    console.error(asyncResult.error);
  }
});

loadCustomPropertiesAsync(callback, userContext)

Асинхронно загружает настраиваемые свойства для надстройки для выбранного элемента.

Пользовательские свойства хранятся в виде пар "ключ-значение" для каждого приложения и каждого элемента. Этот метод возвращает объект CustomProperties в обратном вызове, который предоставляет методы для доступа к пользовательским свойствам, характерным для текущего элемента и текущей надстройки. Пользовательские свойства не шифруются в элементе, поэтому их не следует использовать в качестве безопасного хранилища.

Настраиваемые свойства предоставляются в виде объекта CustomProperties в свойстве asyncResult.value. Этот объект можно использовать для получения, задания, сохранения и удаления настраиваемых свойств из почтового элемента.

loadCustomPropertiesAsync(callback: (asyncResult: Office.AsyncResult<CustomProperties>) => void, userContext?: any): void;

Параметры

callback

(asyncResult: Office.AsyncResult<Office.CustomProperties>) => void

После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult.

userContext

any

Необязательный параметр. Разработчики могут указать любой объект, к которому необходимо получить доступ, в функции обратного вызова. Доступ к этому объекту можно получить с помощью свойства asyncResult.asyncContext в функции обратного вызова.

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Дополнительные сведения о пользовательских свойствах см. в статье Получение и настройка метаданных надстройки для надстройки Outlook.

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание сообщений

Примеры

// The following example shows how to use the loadCustomPropertiesAsync method
// to asynchronously load custom properties that are specific to the current item.
// The example also shows how to use the saveAsync method to save these properties
// back to the server. After loading the custom properties, the example uses the
// get method to read the custom property myProp, the set method to write the
// custom property otherProp, and then finally calls the saveAsync method to save
// the custom properties.
Office.initialize = function () {
    // Checks for the DOM to load using the jQuery ready method.
    $(document).ready(function () {
        // After the DOM is loaded, add-in-specific code can run.
        const mailbox = Office.context.mailbox;
        mailbox.item.loadCustomPropertiesAsync(customPropsCallback);
    });
};

function customPropsCallback(asyncResult) {
    const customProps = asyncResult.value;
    const myProp = customProps.get("myProp");

    customProps.set("otherProp", "value");
    customProps.saveAsync(saveCallback);
}

function saveCallback(asyncResult) {
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml

Office.context.mailbox.item.loadCustomPropertiesAsync(function (result) {
  if (result.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Loaded following custom properties:");
    customProps = result.value;
    const dataKey = Object.keys(customProps)[0];
    const data = customProps[dataKey];
    for (let propertyName in data)
    {
      let propertyValue = data[propertyName];
      console.log(`${propertyName}: ${propertyValue}`);
    }              
  }
  else {
    console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
  }
});

removeAttachmentAsync(attachmentId, options, callback)

Удаляет вложение из сообщения или встречи.

Метод removeAttachmentAsync удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете и на мобильных устройствах идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, затем открывает форму для продолжения в отдельном окне.

removeAttachmentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

attachmentId

string

Идентификатор удаляемого вложения. Максимальная длина attachmentId строки составляет 200 символов в Outlook в Интернете и в Windows.

options
Office.AsyncContextOptions

Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Если удалить вложение не удается, свойство asyncResult.error содержит код ошибки с указанием ее причины.

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Ошибки:

  • InvalidAttachmentId: идентификатор вложения не существует.

Примеры

// The following code removes an attachment with an identifier of '0'.
Office.context.mailbox.item.removeAttachmentAsync(
    '0',
    { asyncContext : null },
    function (asyncResult)
    {
        console.log(asyncResult.status);
    }
);
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

Office.context.mailbox.item.removeAttachmentAsync(
    $("#attachmentId").val(),
    { asyncContext : null },
    function(result)
    {
        if (result.status !== Office.AsyncResultStatus.Succeeded) {
            console.error(`${result.error.message}`);
        } else {
            console.log(`Attachment removed successfully.`);
        }
    }
);

removeAttachmentAsync(attachmentId, callback)

Удаляет вложение из сообщения или встречи.

Метод removeAttachmentAsync удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете и на мобильных устройствах идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, затем открывает форму для продолжения в отдельном окне.

removeAttachmentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

attachmentId

string

Идентификатор удаляемого вложения. Максимальная длина attachmentId строки составляет 200 символов в Outlook в Интернете и в Windows.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Если удалить вложение не удается, свойство asyncResult.error содержит код ошибки с указанием ее причины.

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Ошибки:

  • InvalidAttachmentId: идентификатор вложения не существует.

saveAsync(options, callback)

Асинхронно сохраняет текущее сообщение в виде черновика.

saveAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

options
Office.AsyncContextOptions

Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<string>) => void

После завершения метода функция, переданная в callback параметре, вызывается с одним параметром Office.AsyncResult , asyncResultкоторый является объектом . Идентификатор сообщения возвращается в свойстве asyncResult.value .

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.3 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Важно!

  • В Outlook в Интернете или интерактивном режиме Outlook этот элемент сохраняется на сервере. В Outlook в режиме кэширования этот элемент сохраняется в локальном кэше.

  • При работе с содержимым в формате HTML важно отметить, что клиент Outlook может изменять содержимое. Это означает, что последующие вызовы таких методов, как Body.getAsync, Body.setAsyncи даже saveAsync могут привести к тому же содержимому.

  • Если надстройка вызывает saveAsync элемент в режиме создания, чтобы получить идентификатор элемента для использования с EWS или REST API, имейте в виду, что когда Outlook находится в кэшированном режиме, может потребоваться некоторое время, прежде чем элемент будет фактически синхронизирован с сервером. Пока элемент не будет синхронизирован, при использовании идентификатора элемента будет возвращена ошибка.

  • В Outlook в Интернете учетная запись почтового ящика, в которую сохраняется черновик, зависит от того, когда saveAsync вызывается для сообщения, которое будет отправлено из учетной записи общего почтового ящика. Если отправитель создает новое сообщение из личного почтового ящика и выбирает учетную запись общего почтового ящика в поле От , saveAsync сохраняет черновик в папке Черновики личного почтового ящика пользователя. Если отправитель открывает учетную запись общего почтового ящика в отдельной вкладке браузера (например, с помощью параметра Открыть другой почтовый ящик ) и создает там новое сообщение, saveAsync черновик сохраняется в папке Черновики общего почтового ящика.

Ошибки:

  • InvalidAttachmentId: идентификатор вложения не существует.

saveAsync(callback)

Асинхронно сохраняет текущее сообщение в виде черновика.

saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<string>) => void

После завершения метода функция, переданная в callback параметре, вызывается с одним параметром Office.AsyncResult , asyncResultкоторый является объектом . Идентификатор сообщения возвращается в свойстве asyncResult.value .

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.3 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Важно!

  • В Outlook в Интернете или интерактивном режиме Outlook этот элемент сохраняется на сервере. В Outlook в режиме кэширования этот элемент сохраняется в локальном кэше.

  • При работе с содержимым в формате HTML важно отметить, что клиент Outlook может изменять содержимое. Это означает, что последующие вызовы таких методов, как Body.getAsync, Body.setAsyncи даже saveAsync могут привести к тому же содержимому.

  • Если надстройка вызывает saveAsync элемент в режиме создания, чтобы получить идентификатор элемента для использования с EWS или REST API, имейте в виду, что когда Outlook находится в кэшированном режиме, может потребоваться некоторое время, прежде чем элемент будет фактически синхронизирован с сервером. Пока элемент не будет синхронизирован, при использовании идентификатора элемента будет возвращена ошибка.

  • В Outlook в Интернете учетная запись почтового ящика, в которую сохраняется черновик, зависит от того, когда saveAsync вызывается для сообщения, которое будет отправлено из учетной записи общего почтового ящика. Если отправитель создает новое сообщение из личного почтового ящика и выбирает учетную запись общего почтового ящика в поле От , saveAsync сохраняет черновик в папке Черновики личного почтового ящика пользователя. Если отправитель открывает учетную запись общего почтового ящика в отдельной вкладке браузера (например, с помощью параметра Открыть другой почтовый ящик ) и создает там новое сообщение, saveAsync черновик сохраняется в папке Черновики общего почтового ящика.

Ошибки:

  • InvalidAttachmentId: идентификатор вложения не существует.

Примеры

Office.context.mailbox.item.saveAsync(
    function callback(result) {
        // Process the result.
    });

// The following is an example of the
// `result` parameter passed to the
// callback function. The `value`
// property contains the item ID of
// the item.
{
    "value": "AAMkADI5...AAA=",
    "status": "succeeded"
}

setSelectedDataAsync(data, options, callback)

Асинхронно вставляет данные в текст или тему сообщения.

Метод setSelectedDataAsync вставляет указанную строку в положение курсора в теме или тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор не находится в поле текст или тема, возвращается ошибка. После вставки курсор помещается в конец вставленного содержимого.

setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

data

string

Вставляемые данные. Объем данных не должен превышать 1 000 000 символов. Если передано больше 1 000 000 символов, возвращается исключение ArgumentOutOfRange.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова. coercionType: если текст, текущий стиль применяется в Outlook в Интернете и на настольных клиентах. Если поле представляет собой редактор HTML, вставляются только текстовые данные, даже если они имеют формат HTML. Если html и поле поддерживают HTML (тема не поддерживает), текущий стиль применяется в Outlook в Интернете, а стиль по умолчанию применяется в Outlook для классических клиентов. Если поле является текстовым, возвращается ошибка InvalidDataFormat. Если свойство coercionType не задано, результат зависит от поля: если поле имеет формат HTML, используется текст в формате HTML, а если поле текстовое, применяется обычный текст.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.2 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Ошибки:

  • InvalidAttachmentId: идентификатор вложения не существует.

Примеры

Office.context.mailbox.item.setSelectedDataAsync("<b>Hello World!</b>", { coercionType : "html" });
Office.context.mailbox.item.setSelectedDataAsync("Hello World!");
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/set-selected-data.yaml

Office.context.mailbox.item.setSelectedDataAsync("Replaced", function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Selected text has been updated successfully.");
  } else {
    console.error(asyncResult.error);
  }
});

setSelectedDataAsync(data, callback)

Асинхронно вставляет данные в текст или тему сообщения.

Метод setSelectedDataAsync вставляет указанную строку в положение курсора в теме или тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор не находится в поле текст или тема, возвращается ошибка. После вставки курсор помещается в конец вставленного содержимого.

setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

data

string

Вставляемые данные. Объем данных не должен превышать 1 000 000 символов. Если передано больше 1 000 000 символов, возвращается исключение ArgumentOutOfRange.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

[ Набор API: Почтовый ящик 1.2 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: создание сообщений

Ошибки:

  • InvalidAttachmentId: идентификатор вложения не существует.