Office.Body interface
Основной объект предоставляет методы для добавления и обновления содержимого сообщения или встречи. Он возвращается в свойстве body выбранного элемента.
Комментарии
Сведения о том, как получить или задать текст почтового элемента, см. в статье Получение или установка текста сообщения или встречи в Outlook.
Известная проблема с цветами границ таблицы HTML
Outlook в Windows. Если в html-таблице в режиме Compose заданы разные цвета границ ячеек, границы ячейки могут не отражать ожидаемый цвет. Сведения об известном поведении см . в статье OfficeDev/office-js issue No 1818.
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose или чтение
Используется
- Office.AppointmentCompose: body
- Office.AppointmentRead: текст
- Office.LoadedMessageCompose: body
- Office.LoadedMessageRead: body
- Office.MessageCompose: body
- Office.MessageRead: текст
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to get body: ${bodyResult.error.message}`);
return;
}
// Add the Base64-encoded image to the end of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to attach file: ${attachResult.error.message}`);
return;
}
let body = attachResult.asyncContext;
body += '<img src="cid:sample.png" />';
Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to set body: ${setResult.error.message}`);
return;
}
console.log("Inline Base64-encoded image added to the end of the body.");
});
});
});
Методы
| append |
Добавляет при отправке указанного содержимого в конец текста элемента после любой сигнатуры. Чтобы использовать |
| append |
Добавляет при отправке указанного содержимого в конец текста элемента после любой сигнатуры. Чтобы использовать |
| get |
Возвращает весь текущий текст в формате, указанном параметром |
| get |
Возвращает весь текущий текст в формате, указанном параметром |
| get |
Получает значение, указывающее формат содержимого: HTML или текст. |
| get |
Получает значение, указывающее формат содержимого: HTML или текст. |
| prepend |
Добавляет указанное содержимое в начало текста элемента. |
| prepend |
Добавляет указанное содержимое в начало текста элемента. |
| prepend |
Добавляет HTML-код или обычный текст к началу сообщения или текста встречи при отправке почтового элемента. Чтобы использовать |
| prepend |
Добавляет HTML-код или обычный текст к началу сообщения или текста встречи при отправке почтового элемента. Чтобы использовать |
| set |
Заменяет весь текст указанным текстом. |
| set |
Заменяет весь текст указанным текстом. |
| set |
Заменяет выделенный фрагмент в основном тексте на заданный текст. Метод |
| set |
Заменяет выделенный фрагмент в основном тексте на заданный текст. Метод |
| set |
Добавляет подпись в текст элемента, если у него нет существующей подписи. Если в тексте уже есть подпись, заменяет ее. |
| set |
Добавляет подпись в текст элемента, если у него нет существующей подписи. Если в тексте уже есть подпись, заменяет ее. |
Сведения о методе
appendOnSendAsync(data, options, callback)
Добавляет при отправке указанного содержимого в конец текста элемента после любой сигнатуры.
Чтобы использовать appendOnSendAsync, необходимо указать дополнительное разрешение в манифесте. Сведения зависят от типа манифеста. См. раздел Общие сведения о разрешениях надстроек Outlook. Дополнительные сведения о добавлении при отправке и его конфигурации см. в статье Реализация добавления при отправке в надстройке Outlook.
appendOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, добавляемая в конец текста. Строка ограничена 5000 символами.
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
coercionType
: требуемый формат добавляемых данных. Строка в параметре data будет преобразована в этот формат.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync, а затем передайте его возвращенное значение в options.coercionType параметр .
Важно!
Если пользователь запускает надстройки, которые реализуют функцию при отправке , используя
ItemSendв манифесте, функция добавления при отправке выполняется перед функцией при отправке.Если надстройка реализует функцию при отправке и вызывает
appendOnSendAsyncвItemSendобработчикеappendOnSendAsync, вызов возвращает ошибку, так как этот сценарий не поддерживается.Чтобы очистить данные из предыдущего
appendOnSendAsyncвызова, можно вызвать его еще раз с параметромnulldata.ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
appendOnSendAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
appendOnSendAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
DataExceedsMaximumSizedata: параметр длиннее 5000 символов.InvalidFormatErroroptions.coercionType: параметр имеет значение ,Office.CoercionType.Htmlно текст сообщения содержит обычный текст.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/append-text-on-send.yaml
// This snippet appends text to the end of the message or appointment's body once it's sent.
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the appendOnSendAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.appendOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be appended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
appendOnSendAsync(data, callback)
Добавляет при отправке указанного содержимого в конец текста элемента после любой сигнатуры.
Чтобы использовать appendOnSendAsync, необходимо указать дополнительное разрешение в манифесте. Сведения зависят от типа манифеста. См. раздел Общие сведения о разрешениях надстроек Outlook. Дополнительные сведения о добавлении при отправке и его конфигурации см. в статье Реализация добавления при отправке в надстройке Outlook.
appendOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, добавляемая в конец текста. Строка ограничена 5000 символами.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync, а затем передайте его возвращенное значение в options.coercionType параметр .
Важно!
Если пользователь запускает надстройки, которые реализуют функцию при отправке , используя
ItemSendв манифесте, функция добавления при отправке выполняется перед функцией при отправке.Если надстройка реализует функцию при отправке и вызывает
appendOnSendAsyncвItemSendобработчикеappendOnSendAsync, вызов возвращает ошибку, так как этот сценарий не поддерживается.Чтобы очистить данные из предыдущего
appendOnSendAsyncвызова, можно вызвать его еще раз с параметромnulldata.ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
appendOnSendAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
appendOnSendAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
DataExceedsMaximumSizedata: параметр длиннее 5000 символов.InvalidFormatErroroptions.coercionType: параметр имеет значение ,Office.CoercionType.Htmlно текст сообщения содержит обычный текст.
getAsync(coercionType, options, callback)
Возвращает весь текущий текст в формате, указанном параметром coercionType.
getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- coercionType
-
Office.CoercionType | string
Формат возвращаемого текста.
- options
-
Office.AsyncContextOptions & { bodyMode?: Office.MailboxEnums.BodyMode }
Объектный литерал, содержащий одно или несколько из указанных ниже свойств.
asyncContext
: любые данные, к которым вы хотите получить доступ в функции обратного вызова.
bodyMode
: в Outlook в Интернете на мобильных устройствах и в новом Outlook в Windows указывает, возвращается ли только текст текущего сообщения или весь текст беседы сообщения. Если значение не указано, bodyMode по умолчанию используется Office.MailboxEnums.BodyMode.FullBodyзначение , которое возвращает весь текст беседы сообщения. Свойство bodyMode применяется только к ответам на поверхности Compose сообщения. Он игнорируется в Outlook в Windows (классической версии) и на Mac.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Текст предоставляется в запрошенном формате в свойстве asyncResult.value .
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose или чтение
Важно!
При работе с текстами в формате HTML важно отметить, что возвращаемое методом
Body.getAsyncзначение не обязательно будет точно таким же, как ранее переданное в методеBody.setAsync. Клиент может изменить значение, переданное в ,setAsyncчтобы сделать его эффективно отрисовки с помощью обработчика отрисовки.В Outlook в Интернете и новом Outlook в Windows указание
Office.CoercionType.Textв вызовеgetAsyncможет не всегда обеспечить надежное форматирование. УкажитеOffice.CoercionType.Htmlвместо этого, особенно если текст содержит отформатированные элементы, такие как таблицы, списки и ссылки.В Outlook в Интернете и в новом Outlook в Windows пользователи могут упорядочивать свои сообщения как беседы илиотдельные сообщения в разделе Параметрыорганизации почтовых>>сообщений> (см. раздел Изменение способа отображения списка сообщений в Outlook). Этот параметр влияет на то, сколько текста сообщения отображается для пользователя (т. е. весь поток беседы сообщения или только текущее сообщение). В режиме Compose сообщений, особенно для ответов на поток беседы с несколькими сообщениями, если вы хотите, чтобы возвращаемый текст отражал параметры пользователя, укажите
bodyMode: Office.MailboxEnums.BodyMode.HostConfigпараметр в вызовеgetAsync. Если сообщения группируются по беседе, возвращается только текст текущего ответа. И наоборот, если сообщения отображаются по отдельности, возвращается весь поток беседы.В Outlook на мобильных устройствах свойство доступно начиная
bodyModeс версии 4.2538.0.В Outlook на мобильных устройствах при указании
bodyMode: Office.MailboxEnums.BodyMode.HostConfigвозвращается текст текущего ответа.В Outlook на мобильных устройствах в режиме быстрого ответа (поле ответа в нижней части сообщения) возвращается только текст текущего ответа. Это применимо, даже если
bodyMode: Office.MailboxEnums.BodyMode.FullBodyуказан в вызовеgetAsync.Параметр
bodyModeне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
getAsync(coercionType, callback)
Возвращает весь текущий текст в формате, указанном параметром coercionType.
getAsync(coercionType: Office.CoercionType | string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- coercionType
-
Office.CoercionType | string
Формат возвращаемого текста.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Текст предоставляется в запрошенном формате в свойстве asyncResult.value .
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose или чтение
Важно!
При работе с текстами в формате HTML важно отметить, что возвращаемое методом
Body.getAsyncзначение не обязательно будет точно таким же, как ранее переданное в методеBody.setAsync. Клиент может изменить значение, переданное в ,setAsyncчтобы сделать его эффективно отрисовки с помощью обработчика отрисовки.В Outlook в Интернете и новом Outlook в Windows указание
Office.CoercionType.Textв вызовеgetAsyncможет не всегда обеспечить надежное форматирование. УкажитеOffice.CoercionType.Htmlвместо этого, особенно если текст содержит отформатированные элементы, такие как таблицы, списки и ссылки.В Outlook в Интернете и в новом Outlook в Windows пользователи могут упорядочивать свои сообщения как беседы илиотдельные сообщения в разделе Параметрыорганизации почтовых>>сообщений> (см. раздел Изменение способа отображения списка сообщений в Outlook). Этот параметр влияет на то, сколько текста сообщения отображается для пользователя (т. е. весь поток беседы сообщения или только текущее сообщение). В режиме Compose сообщений, особенно для ответов на поток беседы с несколькими сообщениями, если вы хотите, чтобы возвращаемый текст отражал параметры пользователя, укажите
bodyMode: Office.MailboxEnums.BodyMode.HostConfigпараметр в вызовеgetAsync. Если сообщения группируются по беседе, возвращается только текст текущего ответа. И наоборот, если сообщения отображаются по отдельности, возвращается весь поток беседы.В Outlook на мобильных устройствах свойство доступно начиная
bodyModeс версии 4.2538.0.В Outlook на мобильных устройствах при указании
bodyMode: Office.MailboxEnums.BodyMode.HostConfigвозвращается текст текущего ответа.В Outlook на мобильных устройствах в режиме быстрого ответа (поле ответа в нижней части сообщения) возвращается только текст текущего ответа. Это применимо, даже если
bodyMode: Office.MailboxEnums.BodyMode.FullBodyуказан в вызовеgetAsync.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to get body: ${bodyResult.error.message}`);
return;
}
// Add the Base64-encoded image to the end of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to attach file: ${attachResult.error.message}`);
return;
}
let body = attachResult.asyncContext;
body += '<img src="cid:sample.png" />';
Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to set body: ${setResult.error.message}`);
return;
}
console.log("Inline Base64-encoded image added to the end of the body.");
});
});
});
getTypeAsync(options, callback)
Получает значение, указывающее формат содержимого: HTML или текст.
getTypeAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;
Параметры
- options
- Office.AsyncContextOptions
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
- callback
-
(asyncResult: Office.AsyncResult<Office.CoercionType>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Тип контента возвращается как одно из значений CoercionType в свойстве asyncResult.value .
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose
Важно! В Outlook для Android и в iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-body-format.yaml
// Get the mail item's body format (plain text or HTML) and log it to the console.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log("Body format: " + asyncResult.value);
});
getTypeAsync(callback)
Получает значение, указывающее формат содержимого: HTML или текст.
getTypeAsync(callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;
Параметры
- callback
-
(asyncResult: Office.AsyncResult<Office.CoercionType>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Тип контента возвращается как одно из значений CoercionType в свойстве asyncResult.value .
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose
Важно! В Outlook для Android и в iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
prependAsync(data, options, callback)
Добавляет указанное содержимое в начало текста элемента.
prependAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, добавляемая в начало основного текста. Максимальная длина — 1 000 000 символов.
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
coercionType
: требуемый формат для текста. Строка в параметре data будет преобразована в этот формат.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync, а затем передайте возвращенное значение в options.coercionType параметр .
Важно!
После добавления содержимого положение курсора зависит от клиента, на котором выполняется надстройка. В Outlook в Интернете и в Windows (новые и классические) положение курсора остается неизменным в уже существовавом содержимом текста. Например, если курсор был расположен в начале текста перед вызовом
prependAsync, он будет отображаться между предопределенным содержимым и ранее существовающим содержимым текста после вызова. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает послеprependAsyncвызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.При работе с текстами в формате HTML важно отметить, что клиент может изменить значение, переданное
prependAsyncв, чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки. Это означает, что значение, возвращаемое при последующем вызовеBody.getAsyncметода (появившемся в почтовом ящике 1.3), не обязательно будет содержать точное значение, переданное в предыдущемprependAsyncвызове.При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
idпривязки (<a>) значение "LPNoLP". Например,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.В Outlook для Android и iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
prependAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
prependAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
-
DataExceedsMaximumSize: параметр данных длиннее 1 000 000 символов.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-to-item-body.yaml
/* This snippet adds text to the beginning of the message or appointment's body.
When prepending a link in HTML markup to the body, you can disable the online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.prependAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" prepended to the body.`);
});
});
prependAsync(data, callback)
Добавляет указанное содержимое в начало текста элемента.
prependAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, добавляемая в начало основного текста. Максимальная длина — 1 000 000 символов.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync, а затем передайте возвращенное значение в options.coercionType параметр .
Важно!
После добавления содержимого положение курсора зависит от клиента, на котором выполняется надстройка. В Outlook в Интернете и в Windows (новые и классические) положение курсора остается неизменным в уже существовавом содержимом текста. Например, если курсор был расположен в начале текста перед вызовом
prependAsync, он будет отображаться между предопределенным содержимым и ранее существовающим содержимым текста после вызова. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает послеprependAsyncвызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.При работе с текстами в формате HTML важно отметить, что клиент может изменить значение, переданное
prependAsyncв, чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки. Это означает, что значение, возвращаемое при последующем вызовеBody.getAsyncметода (появившемся в почтовом ящике 1.3), не обязательно будет содержать точное значение, переданное в предыдущемprependAsyncвызове.При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
idпривязки (<a>) значение "LPNoLP". Например,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.В Outlook для Android и iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
prependAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
prependAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
-
DataExceedsMaximumSize: параметр данных длиннее 1 000 000 символов.
prependOnSendAsync(data, options, callback)
Добавляет HTML-код или обычный текст к началу сообщения или текста встречи при отправке почтового элемента.
Чтобы использовать prependOnSendAsync, необходимо указать дополнительное разрешение в манифесте. Сведения зависят от типа манифеста. Рекомендации см. в статье Общие сведения о разрешениях надстройки Outlook.
prependOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, которая должна быть добавлена в начало сообщения или текста встречи. Строка ограничена 5000 символами.
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: любой объект, к которому можно получить доступ в функции обратного вызова.
coercionType
: требуемый формат для текста. Строка в параметре data преобразуется в этот формат.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync, а затем передайте его возвращенное значение в options.coercionType параметр .
Важно! При реализации prependOnSendAsyncучитывайте следующее.
В надстройке смарт-оповещений сначала запускается функция prepend-on-send.
После предустановленного содержимого добавляется новая строка.
Если несколько активных надстроек вызывают
prependOnSendAsync, порядок вставленного содержимого зависит от порядка, в котором выполняется надстройка. Содержимое последней запускаемой надстройки отображается выше ранее предопределенного содержимого.Если надстройка пытается вставить HTML в текст обычного текста, содержимое не будет добавлено. И наоборот, обычный текст будет вставлен в текст HTML.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
prependOnSendAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
prependOnSendAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
DataExceedsMaximumSizedata: параметр превышает 5000 символов.InvalidFormatErroroptions.coercionType: параметр имеет значениеOffice.CoercionType.Html, но текст элемента имеет формат обычного текста.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-on-send.yaml
// This snippet prepends text to the beginning of the message or appointment's body once it's sent.
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependOnSendAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.prependOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be prepended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
prependOnSendAsync(data, callback)
Добавляет HTML-код или обычный текст к началу сообщения или текста встречи при отправке почтового элемента.
Чтобы использовать prependOnSendAsync, необходимо указать дополнительное разрешение в манифесте. Сведения зависят от типа манифеста. Рекомендации см. в статье Общие сведения о разрешениях надстройки Outlook.
prependOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, которая должна быть добавлена в начало сообщения или текста встречи. Строка ограничена 5000 символами.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync, а затем передайте его возвращенное значение в options.coercionType параметр .
Важно! При реализации prependOnSendAsyncучитывайте следующее.
В надстройке смарт-оповещений сначала запускается функция prepend-on-send.
После предустановленного содержимого добавляется новая строка.
Если несколько активных надстроек вызывают
prependOnSendAsync, порядок вставленного содержимого зависит от порядка, в котором выполняется надстройка. Содержимое последней запускаемой надстройки отображается выше ранее предопределенного содержимого.Если надстройка пытается вставить HTML в текст обычного текста, содержимое не будет добавлено. И наоборот, обычный текст будет вставлен в текст HTML.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
prependOnSendAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
prependOnSendAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
DataExceedsMaximumSizedata: параметр превышает 5000 символов.InvalidFormatErroroptions.coercionType: параметр имеет значениеOffice.CoercionType.Html, но текст элемента имеет формат обычного текста.
setAsync(data, options, callback)
Заменяет весь текст указанным текстом.
setAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, которая заменяет существующий текст. Максимальная длина — 1 000 000 символов.
- options
-
Office.AsyncContextOptions & Office.CoercionTypeOptions & { bodyMode?: Office.MailboxEnums.BodyMode }
Объектный литерал, содержащий одно или несколько из указанных ниже свойств.
asyncContext
: любые данные, к которым вы хотите получить доступ в функции обратного вызова.
coercionType
: требуемый формат для текста. Строка в параметре data преобразуется в этот формат.
bodyMode
: в Outlook в Интернете и новом Outlook в Windows указывает, задан ли только текст текущего сообщения или весь текст беседы. Если значение не указано, bodyMode по умолчанию используется Office.MailboxEnums.BodyMode.FullBodyзначение , которое заменяет весь текст, включая предыдущие сообщения в потоке беседы. Свойство bodyMode применяется только к ответам на поверхности Compose сообщения. Он игнорируется в Outlook в Windows (классической), на Mac и на мобильных устройствах.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync, а затем передайте возвращенное значение в options.coercionType параметр .
Важно!
После замены текста указанным содержимым положение курсора зависит от того, на каком клиенте выполняется надстройка. В классическом Outlook в Windows курсор отображается в начале текста почтового элемента. В Outlook в Интернете и новом Outlook в Windows курсор отображается в конце текста почтового элемента. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает после
prependAsyncвызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.При работе с текстами в формате HTML важно отметить, что возвращаемое методом
Body.getAsyncзначение не обязательно будет точно таким же, как ранее переданное в методеBody.setAsync. Клиент может изменить значение, переданное в ,setAsyncчтобы сделать его эффективно отрисовки с помощью обработчика отрисовки.При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
idпривязки (<a>) значение "LPNoLP". Например,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.В Outlook в Windows (классической версии) и на Mac пользователь надстройки не может отменить изменения это действие с помощью команды Отмена.
В Outlook для Android и iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
setAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
setAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.В Outlook в Интернете и новом Outlook в Windows пользователи могут упорядочивать свои сообщения в виде бесед или отдельныхсообщений в разделе Параметрыорганизации почтовых>>сообщений> (см. раздел Изменение способа отображения списка сообщений в Outlook). Этот параметр влияет на то, сколько текста сообщения отображается для пользователя (т. е. весь поток беседы сообщения или только текущее сообщение). В режиме Compose сообщения, особенно для ответов на поток беседы с несколькими сообщениями, если вы хотите учитывать параметры пользователя при настройке текста сообщения, укажите
bodyMode: Office.MailboxEnums.BodyMode.HostConfigпараметр в вызовеsetAsync. Если сообщения группируются по беседе, задается только текст текущего ответа. И наоборот, если сообщения отображаются по отдельности, весь текст, включая предыдущие сообщения в потоке беседы, заменяется.В Outlook в Интернете и новом Outlook в Windows, если
bodyModeсвойство не указано или имеет значениеOffice.MailboxEnums.BodyMode.FullBody, весь текст сообщения, включая предыдущие сообщения из потока беседы, заменяется. Это применимо, даже если сообщения пользователя организованы по беседе. В этом сценарии параметр пользователя временно меняется на Отдельные сообщения: не группировать сообщения>только по одному сообщению или Показывать сообщения электронной почты как отдельные сообщения во времяsetAsyncзвонка. Пользователю отображается уведомление об этом изменении. После завершения вызова параметр пользователя будет восстановлен.
Ошибки:
DataExceedsMaximumSize: параметр данных длиннее 1 000 000 символов.InvalidFormatErroroptions.coercionType: для параметра задано значение ,Office.CoercionType.Htmlа текст сообщения — в виде обычного текста.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to get body: ${bodyResult.error.message}`);
return;
}
// Add the Base64-encoded image to the end of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to attach file: ${attachResult.error.message}`);
return;
}
let body = attachResult.asyncContext;
body += '<img src="cid:sample.png" />';
Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to set body: ${setResult.error.message}`);
return;
}
console.log("Inline Base64-encoded image added to the end of the body.");
});
});
});
setAsync(data, callback)
Заменяет весь текст указанным текстом.
setAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, которая заменяет существующий текст. Максимальная длина — 1 000 000 символов.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync, а затем передайте возвращенное значение в options.coercionType параметр .
Важно!
После замены текста указанным содержимым положение курсора зависит от того, на каком клиенте выполняется надстройка. В классическом Outlook в Windows курсор отображается в начале текста почтового элемента. В Outlook в Интернете и новом Outlook в Windows курсор отображается в конце текста почтового элемента. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает после
prependAsyncвызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.При работе с текстами в формате HTML важно отметить, что возвращаемое методом
Body.getAsyncзначение не обязательно будет точно таким же, как ранее переданное в методеBody.setAsync. Клиент может изменить значение, переданное в ,setAsyncчтобы сделать его эффективно отрисовки с помощью обработчика отрисовки.При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
idпривязки (<a>) значение "LPNoLP". Например,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.В Outlook в Windows (классической версии) и на Mac пользователь надстройки не может отменить изменения это действие с помощью команды Отмена.
В Outlook для Android и iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
setAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
setAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.В Outlook в Интернете и новом Outlook в Windows пользователи могут упорядочивать свои сообщения в виде бесед или отдельныхсообщений в разделе Параметрыорганизации почтовых>>сообщений> (см. раздел Изменение способа отображения списка сообщений в Outlook). Этот параметр влияет на то, сколько текста сообщения отображается для пользователя (т. е. весь поток беседы сообщения или только текущее сообщение). В режиме Compose сообщений, особенно для ответов в потоке беседы с несколькими сообщениями, если вы хотите учитывать параметры пользователя при настройке текста сообщения, укажите
bodyMode: Office.MailboxEnums.BodyMode.HostConfigпараметр в вызовеsetAsync. Если сообщения группируются по беседе, задается только текст текущего ответа. И наоборот, если сообщения отображаются по отдельности, весь текст, включая предыдущие сообщения в потоке беседы, заменяется.В Outlook в Интернете и новом Outlook в Windows, если
bodyModeсвойство не указано или имеет значениеOffice.MailboxEnums.BodyMode.FullBody, весь текст сообщения, включая предыдущие сообщения из потока беседы, заменяется. Это применимо, даже если сообщения пользователя организованы по беседе. В этом сценарии параметр пользователя временно меняется на Отдельные сообщения: не группировать сообщения>только по одному сообщению или Показывать сообщения электронной почты как отдельные сообщения во времяsetAsyncзвонка. Пользователю отображается уведомление об этом изменении. После завершения вызова параметр пользователя будет восстановлен.
Ошибки:
DataExceedsMaximumSize: параметр данных длиннее 1 000 000 символов.InvalidFormatErroroptions.coercionType: для параметра задано значение ,Office.CoercionType.Htmlа текст сообщения — в виде обычного текста.
setSelectedDataAsync(data, options, callback)
Заменяет выделенный фрагмент в основном тексте на заданный текст.
Метод setSelectedDataAsync вставляет указанную строку в положение курсора в тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если указатель не появлялся в основном тексте элемента, или элемент потерял фокус в интерфейсе, строка вставляется в начало основного текста. После вставки курсор помещается в конец вставленного содержимого.
setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, которая заменяет существующий текст. Максимальная длина — 1 000 000 символов.
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
coercionType
: требуемый формат для текста. Строка в параметре data будет преобразована в этот формат.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync , а затем передайте возвращаемое значение в options.coercionType параметр .
Важно!
При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
idпривязки (<a>) значение "LPNoLP". Например,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
setSelectedDataAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
setSelectedDataAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
DataExceedsMaximumSizedata: параметр длиннее 1 000 000 символов.InvalidFormatErroroptions.coercionType: для параметра задано значение ,Office.CoercionType.Htmlа текст сообщения — в виде обычного текста.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/replace-selected-text.yaml
/* This snippet replaces selected text in a message or appointment's body with specified text.
If you want to use a link in HTML markup as a value of the setSelectedDataAsync call's data parameter, you can disable online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.setSelectedDataAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`Replaced selected text with "${text}".`);
});
});
setSelectedDataAsync(data, callback)
Заменяет выделенный фрагмент в основном тексте на заданный текст.
Метод setSelectedDataAsync вставляет указанную строку в положение курсора в тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если указатель не появлялся в основном тексте элемента, или элемент потерял фокус в интерфейсе, строка вставляется в начало основного текста. После вставки курсор помещается в конец вставленного содержимого.
setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, которая заменяет существующий текст. Максимальная длина — 1 000 000 символов.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync , а затем передайте возвращаемое значение в options.coercionType параметр .
Важно!
При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
idпривязки (<a>) значение "LPNoLP". Например,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
setSelectedDataAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
setSelectedDataAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
DataExceedsMaximumSizedata: параметр длиннее 1 000 000 символов.InvalidFormatErroroptions.coercionType: для параметра задано значение ,Office.CoercionType.Htmlа текст сообщения — в виде обычного текста.
setSignatureAsync(data, options, callback)
Добавляет подпись в текст элемента, если у него нет существующей подписи. Если в тексте уже есть подпись, заменяет ее.
setSignatureAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, представляющая сигнатуру, которая должна быть задана в тексте сообщения. Эта строка ограничена 30 000 символами.
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
coercionType
: формат, в который должна быть задана сигнатура. Если text, метод задает сигнатуру в обычный текст, удаляя все присутствующие HTML-теги. Если используется HTML, метод задает для сигнатуры значение HTML.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Важно!
В Outlook в Интернете и новом Outlook в Windows
setSignatureAsyncработает только с сообщениями.Этот метод поддерживается в message Compose в Outlook для Android и iOS, начиная с версии 4.2352.0. Пример сценария см. в разделе Реализация активации на основе событий в мобильных надстройках Outlook. Дополнительные сведения об API- интерфейсах, поддерживаемых в Outlook Mobile, см. в статье Api JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
Поведение
setSignatureAsyncотличается, если вызвать его в обработчике событий надстройки, который реализует функцию активации на основе событий с помощью LaunchEvent в манифесте. Когда пользователь создает новый элемент (включая ответить или пересылать), подпись устанавливается, но не изменяет форму. Это означает, что если пользователь закроет форму без внесения других изменений, ей не будет предложено сохранить изменения.SVG-файлы не поддерживаются в подписях почты. Вместо этого используйте файлы JPG или PNG.
Метод
setSignatureAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
setSignatureAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
DataExceedsMaximumSizedata: параметр длиннее 30 000 символов.InvalidFormatErroroptions.coercionType: для параметра задано значение ,Office.CoercionType.Htmlа текст сообщения — в виде обычного текста.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml
// Set the signature for the current item with inline image.
const modIcon1Base64 = "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRDMxMDg1MjBCNDZFMTExODE2MkM1RUI2M0M4MDYxRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTUxQjgyRjQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTUxQjgyRTQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQxMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uC/WfAAAAehJREFUeNpilCzfwEAEkAbiECA2A2J1IOaHin8E4ptAfBaIVwLxU0IGMRKw0B6IW4DYhoE4cASIK6E0VsCEQ1wUiNcB8QESLGOAqj0MxBuhZhBloS4QnwHiQAbygR/UDF1CFupCXSjHQDmQg5qli8tCUBBsQUoQ1AD8UDNFsVk4n0o+w+bT+egWglKjNymmeGhLkqLcG2oHAwtUoIuQDj5OVgZPLUmwRe5aEmAxqYqNpFgKssOcCeplM0KqdST5GfpDDRm0JfkYrj3/SE7QguyQY4ImYYLgCtAS10kHGMw6dzNsv/qC7OwCClJXYlR++v6b4er3j5QmIFcmaNlIL6AOslCIjhYKMTHQGTBBqxh6gXcgC6/R0cKbIAv30dHCfaAKGJTxHxJSqS3Fz9DkowNmywpyMcgA8fF7b8D8VWcfM6w8+4gYC+VB+RCk8hSh0gaUD4/dewvlvUWRe/z+GzGWgex4BGtiOAHxXhoHpzMoSGHZAhSPW2lo2VZYWkHOh4nEtLrIAE+hZmNUwK+B2BOIv1PRsu9QM1/jatNcBtVZ0IREKXgENesyoVYbzNIdFFi2A5tl+NqlL6BB4QBNzsSCU1A9nlAzMAALAQMOQl0qB23qWwKxIlIrDBQ394H4OBCvISYqAAIMACVibHDqsO7zAAAAAElFTkSuQmCC";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
modIcon1Base64,
"myImage.png",
{ isInline: true },
function(result) {
if (result.status == Office.AsyncResultStatus.Succeeded) {
const signature = (document.getElementById("signature") as HTMLInputElement).value + "<img src='cid:myImage.png'>";
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(
signature,
{ coercionType: "html" },
function(asyncResult) {
console.log(`setSignatureAsync: ${asyncResult.status}`);
}
);
} else {
console.error(`addFileAttachmentFromBase64Async: ${result.error}`);
}
}
);
...
// Set the signature for the current item.
const signature = (document.getElementById("signature") as HTMLInputElement).value;
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(signature, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("setSignatureAsync succeeded");
} else {
console.error(asyncResult.error);
}
});
setSignatureAsync(data, callback)
Добавляет подпись в текст элемента, если у него нет существующей подписи. Если в тексте уже есть подпись, заменяет ее.
setSignatureAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Строка, представляющая сигнатуру, которая должна быть задана в тексте сообщения. Эта строка ограничена 30 000 символами.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Важно!
В Outlook в Интернете и новом Outlook в Windows
setSignatureAsyncработает только с сообщениями.Этот метод поддерживается в message Compose в Outlook для Android и iOS, начиная с версии 4.2352.0. Пример сценария см. в разделе Реализация активации на основе событий в мобильных надстройках Outlook. Дополнительные сведения об API- интерфейсах, поддерживаемых в Outlook Mobile, см. в статье Api JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
Поведение
setSignatureAsyncотличается, если вызвать его в обработчике событий надстройки, который реализует функцию активации на основе событий с помощью LaunchEvent в манифесте. Когда пользователь создает новый элемент (включая ответить или пересылать), подпись устанавливается, но не изменяет форму. Это означает, что если пользователь закроет форму без внесения других изменений, ей не будет предложено сохранить изменения.SVG-файлы не поддерживаются в подписях почты. Вместо этого используйте файлы JPG или PNG.
Метод
setSignatureAsyncне поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.Метод
setSignatureAsyncне поддерживается в сообщении, загруженном с помощьюloadItemByIdAsyncметода . Дополнительные сведения см. в разделе Активация надстройки Outlook для нескольких сообщений.
Ошибки:
DataExceedsMaximumSizedata: параметр длиннее 30 000 символов.InvalidFormatErroroptions.coercionType: для параметра задано значение ,Office.CoercionType.Htmlа текст сообщения — в виде обычного текста.