Office.MessageCompose interface
Режим создания сообщения Office.context.mailbox.item.
Важно!
Это внутренний объект Outlook, который не предоставляется напрямую через существующие интерфейсы. Этот режим следует рассматривать как режим
Office.context.mailbox.item
. Дополнительные сведения см. на странице Объектная модель .При вызове
Office.context.mailbox.item
сообщения обратите внимание, что область чтения в клиенте Outlook должна быть включена. Инструкции по настройке области чтения см. в статье Использование и настройка области чтения для предварительного просмотра сообщений.
Родительские интерфейсы:
- Extends
Свойства
bcc | Возвращает объект, предоставляющий методы для получения или обновления получателей в строке ск ( слепой копии) сообщения. В зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients . |
body | Получает объект, предоставляющий методы для работы с основным текстом элемента. |
cc | Предоставляет доступ к получателям копии сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента. Свойство |
conversation |
Получает идентификатор разговора по электронной почте, содержащего конкретное сообщение. Вы можете получить целочисленное значение этого свойства, если ваше почтовое приложение активируется в формах просмотра или формах создания ответов. Если пользователь изменит тему ответа, после его отправки идентификатор беседы будет изменен, и полученное ранее значение будет недействительным. Это свойство имеет значение NULL для нового элемента в форме создания. Свойство |
item |
Получает тип элемента, который представляет экземпляр. Свойство |
notification |
Получает сообщения уведомления для элемента. |
subject | Получает или задает описание, которое отображается в поле темы элемента. Свойство Свойство |
to | Предоставляет доступ к получателям, указанным в строке Кому сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента. Свойство |
Методы
add |
Добавляет файл в сообщение или встречу в качестве вложения. Метод |
add |
Добавляет файл в сообщение или встречу в качестве вложения. Метод |
add |
Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения. С помощью метода Идентификатор можно использовать с методом Если надстройка Office работает в Outlook в Интернете или в новом Outlook в Windows, |
add |
Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения. С помощью метода Идентификатор можно использовать с методом Если надстройка Office работает в Outlook в Интернете или в новом Outlook в Windows, |
close() | Закрывает текущий создаваемый элемент. Работа метода В Outlook в Windows (классической) и на Mac |
get |
Асинхронно возвращает данные, выбранные в теме или тексте сообщения. Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите . |
get |
Асинхронно возвращает данные, выбранные в теме или тексте сообщения. Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите . |
load |
Асинхронно загружает настраиваемые свойства для надстройки для выбранного элемента. Пользовательские свойства хранятся в виде пар "ключ-значение" для каждого приложения и каждого элемента. Этот метод возвращает объект CustomProperties в обратном вызове, который предоставляет методы для доступа к пользовательским свойствам, характерным для текущего элемента и текущей надстройки. Пользовательские свойства не шифруются в элементе, поэтому их не следует использовать в качестве безопасного хранилища. Настраиваемые свойства предоставляются в виде объекта |
remove |
Удаляет вложение из сообщения или встречи. Метод |
remove |
Удаляет вложение из сообщения или встречи. Метод |
save |
Асинхронно сохраняет текущее сообщение в виде черновика. |
save |
Асинхронно сохраняет текущее сообщение в виде черновика. |
set |
Асинхронно вставляет данные в текст или тему сообщения. Метод |
set |
Асинхронно вставляет данные в текст или тему сообщения. Метод |
Сведения о свойстве
bcc
Возвращает объект, предоставляющий методы для получения или обновления получателей в строке ск ( слепой копии) сообщения.
В зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients .
bcc: Recipients;
Значение свойства
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose сообщений
Примеры
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: Compose сообщений
Примеры
// 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: Compose сообщений
Примеры
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: Compose сообщений
Примеры
// 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;
Значение свойства
Office.MailboxEnums.ItemType | string
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose сообщений
Примеры
// 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: Compose сообщений
Примеры
// 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: Compose сообщений
Примеры
// 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: Compose сообщений
Примеры
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) и вкладывает его в элемент в форме создания.
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
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose сообщений
Важно!
Этот метод не поддерживается в Outlook для iOS или Android. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
В последних сборках классического Outlook для Windows была введена ошибка, которая неправильно добавляет
Authorization: Bearer
заголовок к этому действию (будь то с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, используйте API, представленныйaddFileAttachmentFromBase64
с набором требований 1.8.Универсальный код ресурса (URI) присоединяемого файла должен поддерживать кэширование в рабочей среде. Сервер, на котором размещен образ, не должен возвращать заголовок, указывающий
Cache-Control
no-cache
,no-store
или аналогичные параметры в HTTP-ответе. Однако при разработке надстройки и внесении изменений в файлы кэширование может помешать просмотру изменений. Мы рекомендуем использоватьCache-Control
заголовки во время разработки.Вы можете использовать тот же URI с методом
removeAttachmentAsync
для удаления вложения в том же сеансе.
Ошибки:
AttachmentSizeExceeded
: вложение больше допустимого размера.FileTypeNotSupported
: вложение имеет расширение, которое запрещено.NumberOfAttachmentsExceeded
: сообщение или встреча содержит слишком много вложений.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
const attachmentUrl = $("#attachmentUrl")
.val()
.toString();
Office.context.mailbox.item.addFileAttachmentAsync(
attachmentUrl,
getFileName(attachmentUrl),
{ isInline: false },
(result) => {
console.log(result);
}
);
addFileAttachmentAsync(uri, attachmentName, callback)
Добавляет файл в сообщение или встречу в качестве вложения.
Метод addFileAttachmentAsync
передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.
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
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose сообщений
Важно!
Этот метод не поддерживается в Outlook для iOS или Android. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
В последних сборках классического Outlook для Windows была введена ошибка, которая неправильно добавляет
Authorization: Bearer
заголовок к этому действию (будь то с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, используйте API, представленныйaddFileAttachmentFromBase64
с набором требований 1.8.Универсальный код ресурса (URI) присоединяемого файла должен поддерживать кэширование в рабочей среде. Сервер, на котором размещен образ, не должен возвращать заголовок, указывающий
Cache-Control
no-cache
,no-store
или аналогичные параметры в HTTP-ответе. Однако при разработке надстройки и внесении изменений в файлы кэширование может помешать просмотру изменений. Мы рекомендуем использоватьCache-Control
заголовки во время разработки.Вы можете использовать тот же URI с методом
removeAttachmentAsync
для удаления вложения в том же сеансе.
Ошибки:
AttachmentSizeExceeded
: вложение больше допустимого размера.FileTypeNotSupported
: вложение имеет расширение, которое запрещено.NumberOfAttachmentsExceeded
: сообщение или встреча содержит слишком много вложений.
addItemAttachmentAsync(itemId, attachmentName, options, callback)
Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.
С помощью метода addItemAttachmentAsync
можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если указать функцию обратного вызова, метод вызывается с одним параметром , asyncResult
который содержит идентификатор вложения или код, указывающий на любую ошибку, которая произошла при присоединении элемента. Параметр options можно использовать для передачи сведений о состоянии функции обратного вызова, если это необходимо.
Идентификатор можно использовать с методом removeAttachmentAsync
, чтобы удалить вложение, добавленное во время текущего сеанса.
Если надстройка Office работает в Outlook в Интернете или в новом Outlook в Windows, 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: Compose сообщений
Ошибки:
-
NumberOfAttachmentsExceeded
: сообщение или встреча содержит слишком много вложений.
Примеры
// The following example adds an existing Outlook item as an attachment
// with the name "My Attachment".
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, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error("Failed to add attachment: " + result.error.message);
return;
}
console.log("Attachment added successfully.");
console.log("var1: " + result.asyncContext.var1);
console.log("var2: " + result.asyncContext.var2);
});
}
addItemAttachmentAsync(itemId, attachmentName, callback)
Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.
С помощью метода addItemAttachmentAsync
можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если указать функцию обратного вызова, метод вызывается с одним параметром , asyncResult
который содержит идентификатор вложения или код, указывающий на любую ошибку, которая произошла при присоединении элемента. Параметр options можно использовать для передачи сведений о состоянии функции обратного вызова, если это необходимо.
Идентификатор можно использовать с методом removeAttachmentAsync
, чтобы удалить вложение, добавленное во время текущего сеанса.
Если надстройка Office работает в Outlook в Интернете или в новом Outlook в Windows, 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: Compose сообщений
Ошибки:
-
NumberOfAttachmentsExceeded
: сообщение или встреча содержит слишком много вложений.
close()
Закрывает текущий создаваемый элемент.
Работа метода close
зависит от текущего состояния создаваемого элемента. Если элемент содержит несохраненные изменения, клиент предлагает пользователю сохранить, отменить или закрыть действие.
В Outlook в Windows (классической) и на Mac close
метод не влияет на ответ в области чтения.
close(): void;
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: ограниченный
Применимый режим Outlook: Compose сообщений
Важно! В Outlook в Интернете и новом Outlook в Windows, если элемент является встречей и ранее был сохранен с помощью saveAsync
, пользователю будет предложено сохранить, отменить или отменить, даже если с момента последнего сохранения элемента не произошло никаких изменений.
Совет. Используйте метод closeAsync вместо метода , close
если вы хотите, чтобы надстройка:
Автоматически отменяйте создаваемое сообщение, не запрашивая у пользователя диалоговое окно сохранения.
Определите, когда пользователь отменяет диалоговое окно сохранения элемента в создаваемом сообщении.
Закройте ответ в области чтения или существующий черновик.
Примеры
// 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: Compose сообщений
Примеры
// Get selected data.
Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, { option1: "option1"}, 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: Compose сообщений
Примеры
// 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: Compose сообщений
Примеры
// 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((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
return;
}
customProps = result.value;
console.log("Loaded the CustomProperties object.");
});
removeAttachmentAsync(attachmentId, options, callback)
Удаляет вложение из сообщения или встречи.
Метод removeAttachmentAsync
удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете, на мобильных устройствах и в новом Outlook в Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, затем открывает форму для продолжения в отдельном окне.
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: Compose сообщений
Важно*. Метод removeAttachmentAsync
не удаляет встроенные вложения из почтового элемента. Чтобы удалить встроенное вложение, сначала получите текст элемента, а затем удалите все ссылки на вложение из его содержимого. Используйте API Office.Body , чтобы получить и задать текст элемента.
Ошибки:
-
InvalidAttachmentId
: идентификатор вложения не существует.
Примеры
// 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()
.toString(),
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(result.error.message);
return;
}
console.log(`Attachment removed successfully.`);
}
);
removeAttachmentAsync(attachmentId, callback)
Удаляет вложение из сообщения или встречи.
Метод removeAttachmentAsync
удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете, на мобильных устройствах и в новом Outlook в Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, затем открывает форму для продолжения в отдельном окне.
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: Compose сообщений
Важно*. Метод removeAttachmentAsync
не удаляет встроенные вложения из почтового элемента. Чтобы удалить встроенное вложение, сначала получите текст элемента, а затем удалите все ссылки на вложение из его содержимого. Используйте API Office.Body , чтобы получить и задать текст элемента.
Ошибки:
-
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
который является объектом . Идентификатор сообщения EWS возвращается в свойстве asyncResult.value
.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose сообщений
Важно!
В Outlook в Интернете, новый Outlook в Windows или классический Outlook в Windows в режиме "в сети" (без кэшированного режима) элемент сохраняется на сервере. В Outlook в режиме кэширования этот элемент сохраняется в локальном кэше.
При работе с содержимым в формате HTML важно отметить, что клиент Outlook может изменять содержимое. Это означает, что последующие вызовы таких методов, как
Body.getAsync
,Body.setAsync
и дажеsaveAsync
могут привести к тому же содержимому.Возвращенный идентификатор совпадает с идентификатором элемента веб-служб Exchange (EWS). Возвращенный идентификатор элемента не идентичен идентификатору записи Outlook или идентификатору, используемому REST API Outlook. Перед выполнением вызовов REST API с использованием этого значения его следует преобразовать с помощью
Office.context.mailbox.convertToRestId
.Если надстройка вызывает
saveAsync
, чтобы получить идентификатор элемента для использования с EWS или REST API, имейте в виду, что когда Outlook находится в кэшированном режиме, может потребоваться некоторое время, прежде чем элемент будет фактически синхронизирован с сервером. Пока элемент не будет синхронизирован, при использовании идентификатора элемента будет возвращена ошибка.В Outlook в Интернете и новом Outlook в Windows учетная запись почтового ящика, в которую сохраняется черновик, зависит от того, когда
saveAsync
вызывается сообщение, которое будет отправлено из общей учетной записи почтового ящика. Если отправитель создает новое сообщение из личного почтового ящика и выбирает учетную запись общего почтового ящика в поле От ,saveAsync
сохраняет черновик в папке Черновики личного почтового ящика пользователя. Если отправитель открывает учетную запись общего почтового ящика в отдельной вкладке браузера (например, с помощью параметра Открыть другой почтовый ящик ) и создает там новое сообщение,saveAsync
черновик сохраняется в папке Черновики общего почтового ящика.
Ошибки:
-
InvalidAttachmentId
: идентификатор вложения не существует.
saveAsync(callback)
Асинхронно сохраняет текущее сообщение в виде черновика.
saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром Office.AsyncResult
, asyncResult
который является объектом . Идентификатор сообщения EWS возвращается в свойстве asyncResult.value
.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose сообщений
Важно!
В Outlook в Интернете, новый Outlook в Windows или классический Outlook в Windows в режиме "в сети" (без кэшированного режима) элемент сохраняется на сервере. В Outlook в режиме кэширования этот элемент сохраняется в локальном кэше.
При работе с содержимым в формате HTML важно отметить, что клиент Outlook может изменять содержимое. Это означает, что последующие вызовы таких методов, как
Body.getAsync
,Body.setAsync
и дажеsaveAsync
могут привести к тому же содержимому.Возвращенный идентификатор совпадает с идентификатором элемента веб-служб Exchange (EWS). Возвращенный идентификатор элемента не идентичен идентификатору записи Outlook или идентификатору, используемому REST API Outlook. Перед выполнением вызовов REST API с использованием этого значения его следует преобразовать с помощью
Office.context.mailbox.convertToRestId
.Если надстройка вызывает
saveAsync
, чтобы получить идентификатор элемента для использования с EWS или REST API, имейте в виду, что когда Outlook находится в кэшированном режиме, может потребоваться некоторое время, прежде чем элемент будет фактически синхронизирован с сервером. Пока элемент не будет синхронизирован, при использовании идентификатора элемента будет возвращена ошибка.В Outlook в Интернете и новом Outlook в Windows учетная запись почтового ящика, в которую сохраняется черновик, зависит от того, когда
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
.
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext
: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
coercionType
: если текст, текущий стиль применяется в Outlook в Интернете, в Windows (новая и классическая версия) и на Mac. Если поле представляет собой редактор HTML, вставляются только текстовые данные, даже если они имеют формат HTML. Если данные являются HTML и поле поддерживает HTML (тема не поддерживает), текущий стиль применяется в Outlook в Интернете и новом Outlook в Windows. Стиль по умолчанию применяется в Outlook в Windows (классической) и на Mac. Если поле является текстовым, возвращается ошибка InvalidDataFormat
. Если свойство coercionType
не задано, результат зависит от поля: если поле имеет формат HTML, используется текст в формате HTML, а если поле текстовое, применяется обычный текст.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult
.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.2 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose сообщений
Ошибки:
-
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: Compose сообщений
Ошибки:
-
InvalidAttachmentId
: идентификатор вложения не существует.
Office Add-ins