Office.Body interface
Основной объект предоставляет методы для добавления и обновления содержимого сообщения или встречи. Он возвращается в свойстве body выбранного элемента.
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Известная проблема с цветами границ таблицы HTML
Outlook в Windows. Если в html-таблице в режиме Compose заданы разные цвета границ ячеек, границы ячейки могут не отражать ожидаемый цвет. Сведения об известном поведении см . в статье OfficeDev/office-js issue No 1818.
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose или чтение
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
const mailItem = Office.context.mailbox.item;
const base64String =
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
// Insert the Base64-encoded image to the beginning of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
let body = attachResult.asyncContext;
body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Inline Base64-encoded image added to the body.");
} else {
console.log(setResult.error.message);
}
});
} else {
console.log(attachResult.error.message);
}
});
} else {
console.log(bodyResult.error.message);
}
});
Методы
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
Комментарии
[ Набор API: Почтовый ящик 1.9 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте его возвращенное значение в options.coercionType
параметр .
Важно!
Если пользователь запускает надстройки, которые реализуют функцию при отправке , используя
ItemSend
в манифесте, функция добавления при отправке выполняется перед функцией при отправке.Если надстройка реализует функцию при отправке и вызывает
appendOnSendAsync
вItemSend
обработчикеappendOnSendAsync
, вызов возвращает ошибку, так как этот сценарий не поддерживается.Чтобы очистить данные из предыдущего
appendOnSendAsync
вызова, можно вызвать его еще раз с параметромnull
data
.ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
appendOnSendAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
DataExceedsMaximumSize
data
: параметр длиннее 5000 символов.InvalidFormatError
options.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 = $("#text-field").val();
// 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
Комментарии
[ Набор API: Почтовый ящик 1.9 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте его возвращенное значение в options.coercionType
параметр .
Важно!
Если пользователь запускает надстройки, которые реализуют функцию при отправке , используя
ItemSend
в манифесте, функция добавления при отправке выполняется перед функцией при отправке.Если надстройка реализует функцию при отправке и вызывает
appendOnSendAsync
вItemSend
обработчикеappendOnSendAsync
, вызов возвращает ошибку, так как этот сценарий не поддерживается.Чтобы очистить данные из предыдущего
appendOnSendAsync
вызова, можно вызвать его еще раз с параметромnull
data
.ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
appendOnSendAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
DataExceedsMaximumSize
data
: параметр длиннее 5000 символов.InvalidFormatError
options.coercionType
: параметр имеет значение ,Office.CoercionType.Html
но текст сообщения содержит обычный текст.
getAsync(coercionType, options, callback)
Возвращает текущий текст в указанном формате.
Этот метод возвращает весь текущий текст в формате, заданном параметром coercionType
.
getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- coercionType
-
Office.CoercionType | string
Формат возвращаемого текста.
- options
- Office.AsyncContextOptions
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext
: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Необязательный параметр. После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult. Текст предоставляется в запрошенном формате в свойстве asyncResult.value
.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose или чтение
Важно!
При работе с текстами в формате HTML важно отметить, что возвращаемое методом
Body.getAsync
значение не обязательно будет точно таким же, как ранее переданное в методеBody.setAsync
. Клиент может изменить значение, переданное в ,setAsync
чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки.В Outlook в Интернете и новом Outlook в Windows, если текст содержит форматированные элементы, такие как таблицы, списки и ссылки, укажите
Office.CoercionType.Html
в вызовеgetAsync
. В противном случае может появилось непредвиденное значение, например пустая строка.
Примеры
// 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"
}
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
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: Compose или чтение
Важно!
При работе с текстами в формате HTML важно отметить, что возвращаемое методом
Body.getAsync
значение не обязательно будет точно таким же, как ранее переданное в методеBody.setAsync
. Клиент может изменить значение, переданное в ,setAsync
чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки.В Outlook в Интернете и новом Outlook в Windows, если текст содержит форматированные элементы, такие как таблицы, списки и ссылки, укажите
Office.CoercionType.Html
в вызовеgetAsync
. В противном случае может появилось непредвиденное значение, например пустая строка.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
const mailItem = Office.context.mailbox.item;
const base64String =
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
// Insert the Base64-encoded image to the beginning of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
let body = attachResult.asyncContext;
body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Inline Base64-encoded image added to the body.");
} else {
console.log(setResult.error.message);
}
});
} else {
console.log(attachResult.error.message);
}
});
} else {
console.log(bodyResult.error.message);
}
});
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
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение элемента
Применимый режим 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
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение элемента
Применимый режим 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
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте возвращенное значение в options.coercionType
параметр .
Важно!
После добавления содержимого положение курсора зависит от клиента, на котором выполняется надстройка. В Outlook в Интернете и в Windows (новые и классические) положение курсора остается неизменным в уже существовавом содержимом текста. Например, если курсор был расположен в начале текста перед вызовом
prependAsync
, он будет отображаться между предопределенным содержимым и ранее существовающим содержимым текста после вызова. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает послеprependAsync
вызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.При работе с текстами в формате HTML важно отметить, что клиент может изменить значение, переданное
prependAsync
в, чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки. Это означает, что значение, возвращаемое при последующем вызовеBody.getAsync
метода (появившемся в почтовом ящике 1.3), не обязательно будет содержать точное значение, переданное в предыдущемprependAsync
вызове.При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
id
в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).В Outlook для Android и iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
prependAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
-
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 = $("#text-field").val().toString();
// 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
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте возвращенное значение в options.coercionType
параметр .
Важно!
После добавления содержимого положение курсора зависит от клиента, на котором выполняется надстройка. В Outlook в Интернете и в Windows (новые и классические) положение курсора остается неизменным в уже существовавом содержимом текста. Например, если курсор был расположен в начале текста перед вызовом
prependAsync
, он будет отображаться между предопределенным содержимым и ранее существовающим содержимым текста после вызова. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает послеprependAsync
вызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.При работе с текстами в формате HTML важно отметить, что клиент может изменить значение, переданное
prependAsync
в, чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки. Это означает, что значение, возвращаемое при последующем вызовеBody.getAsync
метода (появившемся в почтовом ящике 1.3), не обязательно будет содержать точное значение, переданное в предыдущемprependAsync
вызове.При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
id
в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).В Outlook для Android и iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
prependAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
-
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
Комментарии
[ Набор API: Почтовый ящик 1.13 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте его возвращенное значение в options.coercionType
параметр .
Важно! При реализации prependOnSendAsync
учитывайте следующее.
В надстройке смарт-оповещений сначала запускается функция prepend-on-send.
После предустановленного содержимого добавляется новая строка.
Если несколько активных надстроек вызывают
prependOnSendAsync
, порядок вставленного содержимого зависит от порядка, в котором выполняется надстройка. Содержимое последней запускаемой надстройки отображается выше ранее предопределенного содержимого.Если надстройка пытается вставить HTML в текст обычного текста, содержимое не будет добавлено. И наоборот, обычный текст будет вставлен в текст HTML.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
prependOnSendAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
DataExceedsMaximumSize
data
: параметр превышает 5000 символов.InvalidFormatError
options.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 = $("#text-field").val().toString();
// 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
Комментарии
[ Набор API: Почтовый ящик 1.13 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте его возвращенное значение в options.coercionType
параметр .
Важно! При реализации prependOnSendAsync
учитывайте следующее.
В надстройке смарт-оповещений сначала запускается функция prepend-on-send.
После предустановленного содержимого добавляется новая строка.
Если несколько активных надстроек вызывают
prependOnSendAsync
, порядок вставленного содержимого зависит от порядка, в котором выполняется надстройка. Содержимое последней запускаемой надстройки отображается выше ранее предопределенного содержимого.Если надстройка пытается вставить HTML в текст обычного текста, содержимое не будет добавлено. И наоборот, обычный текст будет вставлен в текст HTML.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
prependOnSendAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
DataExceedsMaximumSize
data
: параметр превышает 5000 символов.InvalidFormatError
options.coercionType
: параметр имеет значениеOffice.CoercionType.Html
, но текст элемента имеет формат обычного текста.
setAsync(data, options, callback)
Заменяет весь текст указанным текстом.
setAsync(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
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте возвращенное значение в options.coercionType
параметр .
Важно!
После замены текста указанным содержимым положение курсора зависит от того, на каком клиенте выполняется надстройка. В классическом Outlook в Windows курсор отображается в начале текста почтового элемента. В Outlook в Интернете и новом Outlook в Windows курсор отображается в конце текста почтового элемента. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает после
prependAsync
вызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.При работе с текстами в формате HTML важно отметить, что возвращаемое методом
Body.getAsync
значение не обязательно будет точно таким же, как ранее переданное в методеBody.setAsync
. Клиент может изменить значение, переданное в ,setAsync
чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки.При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
id
в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).В Outlook в Windows и на Mac пользователь надстройки не может отменить изменения это действие с помощью команды Отменить.
В Outlook для Android и iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
setAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
DataExceedsMaximumSize
: параметр данных длиннее 1 000 000 символов.InvalidFormatError
options.coercionType
: для параметра задано значение ,Office.CoercionType.Html
а текст сообщения — в виде обычного текста.
Примеры
// When including links in HTML markup, you can disable online link preview
// by setting the id attribute on the anchor (<a>) to "LPNoLP".
Office.context.mailbox.item.body.setAsync(
'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>',
{
coercionType: Office.CoercionType.Html,
asyncContext: "This is passed to the callback"
},
(result) => {
// Process the result.
}
);
// The following is an example of the result parameter passed to the callback function.
{
"value": null,
"status": "succeeded",
"asyncContext": "This is passed to the callback"
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
const mailItem = Office.context.mailbox.item;
const base64String =
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
// Insert the Base64-encoded image to the beginning of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
let body = attachResult.asyncContext;
body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Inline Base64-encoded image added to the body.");
} else {
console.log(setResult.error.message);
}
});
} else {
console.log(attachResult.error.message);
}
});
} else {
console.log(bodyResult.error.message);
}
});
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
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте возвращенное значение в options.coercionType
параметр .
Важно!
После замены текста указанным содержимым положение курсора зависит от того, на каком клиенте выполняется надстройка. В классическом Outlook в Windows курсор отображается в начале текста почтового элемента. В Outlook в Интернете и новом Outlook в Windows курсор отображается в конце текста почтового элемента. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает после
prependAsync
вызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.При работе с текстами в формате HTML важно отметить, что возвращаемое методом
Body.getAsync
значение не обязательно будет точно таким же, как ранее переданное в методеBody.setAsync
. Клиент может изменить значение, переданное в ,setAsync
чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки.При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
id
в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).В Outlook в Windows и на Mac пользователь надстройки не может отменить изменения это действие с помощью команды Отменить.
В Outlook для Android и iOS этот метод не поддерживается в режиме Compose сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
setAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
DataExceedsMaximumSize
: параметр данных длиннее 1 000 000 символов.InvalidFormatError
options.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
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте возвращаемое значение в options.coercionType
параметр .
* Важно!
При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
id
в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
setSelectedDataAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
DataExceedsMaximumSize
data
: параметр длиннее 1 000 000 символов.InvalidFormatError
options.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 = $("#text-field").val().toString();
// 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
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: Compose
Рекомендуется: вызовите getTypeAsync
, а затем передайте возвращаемое значение в options.coercionType
параметр .
* Важно!
При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута
id
в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).ФАЙЛЫ SVG не поддерживаются. Вместо этого используйте файлы JPG или PNG.
Метод
setSelectedDataAsync
не поддерживает встроенный CSS. Вместо этого используйте внутренний или внешний CSS.
Ошибки:
DataExceedsMaximumSize
data
: параметр длиннее 1 000 000 символов.InvalidFormatError
options.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
Комментарии
[ Набор API: Почтовый ящик 1.10 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим 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.
Ошибки:
DataExceedsMaximumSize
data
: параметр длиннее 30 000 символов.InvalidFormatError
options.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 = $("#signature").val() + "<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 = $("#signature").val();
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
Комментарии
[ Набор API: Почтовый ящик 1.10 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим 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.
Ошибки:
DataExceedsMaximumSize
data
: параметр длиннее 30 000 символов.InvalidFormatError
options.coercionType
: для параметра задано значение ,Office.CoercionType.Html
а текст сообщения — в виде обычного текста.
Office Add-ins