Ограничения на активацию и API JavaScript для надстроек Outlook
Чтобы предоставить пользователям удобные возможности работы в надстройках Outlook, следует помнить об определенных рекомендациях по активации и использованию интерфейса API и разрабатывать надстройки в соответствии с ними. Эти рекомендации существуют для того, чтобы отдельная надстройка не могла требовать от Exchange Server или Outlook необычно длительного времени для обработки правил активации или вызовов API JavaScript для Office, что влияет на общий пользовательский интерфейс Outlook и других надстроек. Эти ограничения применяются к разработке правил активации в манифесте надстройки и использованию пользовательских свойств, перемещаемых параметров, получателей, запросов и ответов веб-служб Exchange (EWS) и асинхронных вызовов.
Примечание.
Также необходимо убедиться, что надстройка работает в пределах определенных ограничений на использование ресурсов среды выполнения. Дополнительные сведения см. в разделе Среды выполнения в надстройках Office.
Где активируются надстройки
Дополнительные сведения о том, где надстройки выполняют и не активируются, см. в разделе "Элементы почтовых ящиков, доступные для надстроек" статьи Обзор надстроек Outlook.
Ограничения для API JavaScript
Каждый клиент Outlook применяет определенные ограничения в объектной модели JavaScript, как описано в следующей таблице.
Функция | Ограничение | Связанный API | Описание |
---|---|---|---|
Настраиваемые свойства | 2500 символов | Объект CustomProperties Метод Item.loadCustomPropertiesAsync |
Ограничение для всех настраиваемых свойств элемента встречи или сообщения. Все клиенты Outlook возвращают ошибку, если общий размер всех настраиваемых свойств надстройки превышает это ограничение. |
Перемещаемые параметры | 32 КБ символов | Объект RoamingSettings Свойство Context.roamingSettings |
Ограничение для всех параметров перемещения надстройки. Все клиенты Outlook возвращают ошибку, если параметры превышают это ограничение. |
Заголовки Интернета | 256 КБ на сообщение в Exchange Online Ограничение на размер заголовка определяется администраторами организации в локальной среде Exchange |
Метод InternetHeaders.setAsync | Общий размер заголовков, которые можно применить к сообщению. |
Извлечение известных сущностей | 2000 символов | Метод Item.getEntities Метод Item.getEntitiesByType Метод Item.getFilteredEntitiesByName |
Ограничение для Exchange Server для извлечения известных сущностей в основном тексте элемента. Exchange Server игнорирует сущности сверх этого предела. Обратите внимание, что это ограничение не зависит от того, использует ли надстройка ItemHasKnownEntity правило. |
Веб-службы Exchange | 5 МБ символов в Outlook в Интернете, в Windows (начиная с версии 2303 (сборка 16225.10000)), в Mac (начиная с версии 16.73 (23042601)) и в новом Outlook для Windows (предварительная версия) 1 МБ символов в более ранних версиях Outlook в Windows и на Mac |
Метод Mailbox.makeEwsRequestAsync | Ограничение для запроса или ответа на Mailbox.makeEwsRequestAsync вызов. |
Элемент с несколькими выборами | 100 сообщений | Метод Mailbox.getSelectedItemsAsync | Максимальное количество выбранных сообщений, для которых может активироваться надстройка Outlook. |
Recipients | Отличается в разных клиентах Outlook | Свойство Item.requiredAttendees Свойство Item.optionalAttendees свойство Item.to свойство Item.cc Метод Recipients.addAsync Метод Recipients.getAsync Метод Recipients.setAsync |
Ограничение для получателей, указанных в каждом свойстве или методе. Сведения об ограничениях получателей для определенного клиента Outlook см. в документации по API для свойства или метода. |
Отображаемое имя | 255 символов | Свойство EmailAddressDetails.displayName Объект Recipients Свойство Item.requiredAttendees Свойство Item.optionalAttendees свойство Item.to свойство Item.cc |
Ограничение длины отображаемого имени в сообщении или встрече. |
Установка темы | 255 символов | DisplayedSubject.setAsync (предварительная версия) Метод Mailbox.displayNewAppointmentForm Метод Subject.setAsync |
Ограничение для темы в форме новой встречи или для настройки темы встречи или сообщения. |
Установка места проведения | 255 символов | Метод Location.setAsync | Ограничение для установки расположении встречи или приглашения на собрание. |
Текст в форме новой встречи | 32 КБ символов | Метод Mailbox.displayNewAppointmentForm | Ограничение текста в форме новой встречи. |
Отображение текста существующего элемента | 32 КБ символов | Метод Mailbox.displayAppointmentForm Метод Mailbox.displayMessageForm |
Для Outlook в Интернете, мобильных устройств и нового Outlook в Windows (предварительная версия) — ограничение текста в существующей форме встречи или сообщения. |
Настройка текста | 1 МБ символов | Метод Body.prependAsync Body.setAsync Метод Body.setSelectedDataAsync DisplayedBody.setAsync (предварительная версия) |
Ограничение для установки текста элемента встречи или сообщения. |
Установка сигнатуры | 30 000 символов | Метод Body.setSignatureAsync | Ограничение длины подписи в встрече или сообщении. |
Число вложений | 499 файлов в Outlook в Интернете, на мобильных устройствах и в новом Outlook в Windows (предварительная версия) | Метод Item.addFileAttachmentAsync | Ограничение количества файлов, которые можно вложить в отправляемый элемент. Outlook в Интернете и на мобильных устройствах, а также новые Outlook в Windows (предварительная версия) обычно ограничивают подключение до 499 файлов с помощью пользовательского интерфейса и addFileAttachmentAsync метода. Outlook в Windows и mac не ограничивает количество файловых вложений. Однако все клиенты Outlook соблюдают ограничение размера вложений, определяемое Exchange Server пользователя (см. строку "Размер вложений" в этой таблице). |
Размер вложений | В зависимости от Exchange Server | Метод Item.addFileAttachmentAsync | Существует ограничение на размер всех вложений для почтового элемента, которое администратор может настроить в Exchange Server почтового ящика пользователя. Для Outlook в Windows и на Mac это ограничивает количество вложений для элемента. Для Outlook в Интернете и на мобильных устройствах, а также нового Outlook в Windows (предварительная версия) меньшее из двух ограничений ( количество вложений и размер всех вложений) ограничивает фактические вложения для элемента. |
Имя файла вложения | 255 символов | Метод Item.addFileAttachmentAsync | Ограничение длины имени файла вложения, добавляемого в элемент. |
URI вложения | 2048 символов | Метод Item.addFileAttachmentAsync Метод Item.addFileAttachmentFromBase64Async |
Ограничение URI имени файла, добавляемого в элемент как вложение. |
Строка вложения в кодировке Base64 | 27 892 122 символа (около 25 МБ) | Метод Item.addFileAttachmentFromBase64Async | Ограничение строки в кодировке Base64, добавляемой в качестве вложения к элементу. |
Идентификатор вложения | 100 символов | Метод Item.addItemAttachmentAsync Метод Item.removeAttachmentAsync |
Ограничение длины идентификатора вложения, добавляемого в элемент или удаляемого из него. |
Асинхронные вызовы | 3 вызова | Метод Item.addFileAttachmentAsync Метод Item.addItemAttachmentAsync Метод Item.removeAttachmentAsync Метод Body.getTypeAsync Метод Body.prependAsync Метод Body.setSelectedDataAsync Метод CustomProperties.saveAsync Метод Item.LoadCustomPropertiesAsync Метод Location.getAsync Метод Location.setAsync Метод Mailbox.getCallbackTokenAsync Метод Mailbox.getUserIdentityTokenAsync Метод Mailbox.makeEwsRequestAsync Метод Recipients.addAsync Метод Recipients.getAsync Метод Recipients.setAsync Метод RoamingSettings.saveAsync Метод Subject.getAsync Метод Subject.setAsync Метод Time.getAsync Метод Time.setAsync |
Для Outlook в Интернете и на мобильных устройствах, а также нового Outlook в Windows (предварительная версия): ограничение числа одновременных асинхронных вызовов в любой момент времени, так как браузеры разрешают только ограниченное количество асинхронных вызовов к серверам. |
Добавление при отправке | 5000 символов | Метод Body.appendOnSendAsync | Ограничение содержимого, добавляемого в сообщение или текст встречи при отправке. |
Prepend-on-send | 5000 символов | Метод Body.prependOnSendAsync | Ограничение содержимого, которое добавляется к сообщению или тексту встречи при отправке. |
Ограничения правил активации для контекстных надстроек Outlook
Важно!
Контекстные надстройки Outlook на основе сущностей будут прекращены во 2-м квартале 2024 г. Работа по прекращению использования этой функции начнется в мае и продолжится до конца июня. После июня контекстные надстройки больше не смогут обнаруживать сущности в почтовых элементах для выполнения задач над ними. Следующие API также будут прекращены.
- Office.context.mailbox.item.getEntities()
- Office.context.mailbox.item.getEntitiesByType(entityType)
- Office.context.mailbox.item.getFilteredEntitiesByName(name)
- Office.context.mailbox.item.getSelectedEntities()
Чтобы свести к минимуму возможные перебои, после прекращения использования контекстных надстроек на основе сущностей будет по-прежнему поддерживаться следующее.
- Разрабатывается альтернативная реализация кнопки "Присоединиться к собранию ", которая активируется надстройками собраний по сети. После завершения поддержки контекстных надстроек на основе сущностей надстройки собраний по сети автоматически переходят на альтернативную реализацию для активации кнопки Присоединиться к собранию .
- Правила регулярных выражений будут поддерживаться после прекращения использования контекстных надстроек на основе сущностей. Мы рекомендуем обновить контекстную надстройку, чтобы использовать правила регулярных выражений в качестве альтернативного решения. Инструкции по реализации этих правил см. в статье Использование правил активации регулярных выражений для отображения надстройки Outlook.
Дополнительные сведения см. в разделе Прекращение использования контекстных надстроек Outlook на основе сущностей.
Следуйте этим рекомендациям при разработке правил активации для контекстных надстроек Outlook.
Размер манифеста не должен превышать 256 КБ. Вы не сможете установить надстройку Outlook для почтового ящика Exchange, если превысите это ограничение.
Примечание.
Функции надстроек Outlook, зависящие от правил активации, не поддерживаются, если надстройка использует унифицированный манифест для Microsoft 365.
Задавайте не более 15 правил активации для надстройки. Вы не сможете установить надстройку, если превысите это ограничение.
Если в Outlook в Windows и на Mac используется правило ItemHasKnownEntity в тексте выбранного элемента, оно должно применяться только к первым 1 МБ текста, а не к остальной части текста сверх этого предела. Ваша надстройка не активируется, если совпадения существуют только после первого МБ основного текста. Если вы ожидаете, что это будет вероятным сценарием, измените условия активации.
Если вы используете регулярные выражения в
ItemHasKnownEntity
правилах Или ItemHasRegularExpressionMatch , учитывайте следующие ограничения и рекомендации, которые обычно применяются к любому приложению Outlook и описанные в таблицах последующих разделов, которые отличаются в зависимости от приложения.- Укажите только пять регулярных выражений в правилах активации в надстройке. Вы не сможете установить надстройку, если превысите это ограничение.
- Укажите регулярные выражения таким образом, чтобы ожидаемые результаты возвращались вызовом
getRegExMatches
метода в течение первых 50 совпадений. - Важно! Текст выделяется на основе строк, которые являются результатом сопоставления регулярного выражения. Однако выделенные вхождения могут не точно соответствовать тому, что должно быть результатом фактических утверждений регулярных выражений, таких как отрицательный взгляд вперед
(?!text)
, просмотр за спиной(?<=text)
и отрицательный просмотр позади(?<!text)
. Например, если вы используете регулярное выражениеunder(?!score)
"Like under, under score, and подчеркивание", строка "under" выделяется для всех вхождений, а не только для первых двух.
Различия в поддержке регулярных выражений
В следующей таблице перечислены ограничения и описаны различия в поддержке регулярных выражений в клиентах Outlook. Поддержка не зависит от типа устройства и основного текста элемента.
Outlook в Интернете, на мобильных устройствах и в новом клиенте Windows (предварительная версия) | Outlook в Windows и на Mac |
---|---|
Клиенты используют вычисление регулярных выражений, которое является частью JavaScript. Он предоставляется браузером и поддерживает надмножество ECMAScript 5. | Клиенты используют обработчик регулярных выражений C++, предоставляемый как часть стандартной библиотеки шаблонов Visual Studio. Этот обработчик выполняет компиляцию в соответствии со стандартами ECMAScript 5. |
Необходимо тщательно протестировать каждый регулярный экземпляр на каждом клиенте Outlook. Если регулярное выражение возвращает другие результаты, перепишите его. | Из-за различных обработчиков регулярных выражений регулярное выражение, включающее пользовательский класс символов на основе предопределенных классов символов, может возвращать разные результаты в Outlook в Windows и на Mac и в Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows (предварительная версия). Например, регулярное выражение [\s\S]{0,100} соответствует любому числу (от 0 до 100) отдельных символов, которые являются пробелами или не пробелами. Этот регулярный результат возвращает разные результаты в зависимости от клиента Outlook.В качестве обходного решения следует переписать регулярное выражение как (\s\|\S){0,100} . Эта регулярность соответствует любому числу (от 0 до 100) пробелов или небелых пробелов.Необходимо тщательно протестировать каждый регулярный экземпляр на каждом клиенте Outlook. Если регулярное выражение возвращает другие результаты, перепишите его. |
Параметры мониторинга ресурсов и реестра, поддерживаемые в Outlook в Windows и на Mac, не поддерживаются в Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows (предварительная версия). Однако надстройки с регулярными выражениями, для которых требуется слишком много времени оценки в Outlook в Windows и на Mac, отключены для одного и того же почтового ящика во всех клиентах Outlook. | По умолчанию оценка всех регулярных выражений для надстройки ограничена одной секундой. Превышение этого предела приводит к повторной вычислении до трех раз. За пределы переоценки Outlook в Windows и на Mac запрещает запуск надстройки для одного и того же почтового ящика в любом из клиентов Outlook. Администраторы могут переопределить эти ограничения оценки с помощью OutlookActivationAlertThreshold разделов реестра и OutlookActivationManagerRetryLimit . |
Ограничения размеров основного текста элемента, используемого для оценки
В следующей таблице перечислены ограничения и описаны различия в части текста элемента, к которой каждый клиент Outlook применяет регулярное выражение. Некоторые из этих ограничений зависят от типа устройства и основного текста элемента, если регулярное выражение применяется к основному тексту элемента.
Outlook в Интернете и в новом клиенте Windows (предварительная версия) | Outlook в классическом клиенте Windows и на Mac | Outlook на мобильных устройствах | |
---|---|---|---|
Конструктивные параметры | Любые поддерживаемые устройства, кроме смартфонов Android, iPad и iPhone. | Любое поддерживаемого устройства. | Смартфоны Android, iPad или iPhone. |
Основной текст элемента в виде обычного текста | Активирует надстройку только в том случае, если текст < содержит 500 000 символов. | Регулярное выражение применяется к первому мегабайту данных в основном тексте. К остальной части основного текста свыше этого ограничения регулярное выражение не применяется. | Активирует надстройку только в том случае, если текст < содержит 16 000 символов. |
Основной текст элемента в формате HTML | Активирует надстройку только в том случае, если текст < содержит 500 000 символов. | Применяет регулярное выражение к первым 512 КБ данных основного текста, но не к остальной части текста сверх этого предела. (Фактическое количество символов зависит от кодировки, которая может варьироваться от 1 до 4 байт на символ.) | Регулярное выражение применяется к первым 64 000 знаков (включая знаки HTML-тегов). К остальной части основного текста свыше этого ограничения регулярное выражение не применяется. |
Ограничения возвращаемых соответствий
В следующей таблице перечислены ограничения и описаны различия в совпадениях, возвращаемые каждым клиентом Outlook после вычисления регулярного выражения. Поддержка не зависит от конкретного типа устройства, но может зависеть от типа основного текста элемента, если регулярное выражение применяется к основному тексту элемента.
Outlook в Интернете, на мобильных устройствах и в новом клиенте Windows (предварительная версия) | Outlook в классическом клиенте Windows и на Mac | |
---|---|---|
Порядок возвращаемых соответствий | Предположим, getRegExMatches что метод возвращает разные совпадения для одного и того же регулярного выражения, применяемого к одному и тому же почтовому элементу в Outlook в Windows и Mac, а также в Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows (предварительная версия). |
Предположим, getRegExMatches что метод возвращает разные совпадения для одного и того же регулярного выражения, применяемого к одному и тому же почтовому элементу в Outlook в Windows и Mac, а также в Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows (предварительная версия). |
Основной текст элемента в виде обычного текста | getRegExMatches возвращает все совпадения длиной до 3072 символов (3 КБ) для не более 50 совпадений. |
Метод getRegExMatches возвращает все совпадения длиной до 1536 (1,5 КБ) для не более 50 совпадений.Примечание. getRegExMatches Не возвращает совпадения в определенном порядке в возвращаемом массиве. Как правило, предположим, что порядок совпадений для одного регулярного выражения, применяемого к одному и тому же почтовому элементу в Outlook в Windows и на Mac, отличается от порядка совпадений в Outlook в Интернете, на мобильных устройствах и в новом Outlook в Windows (предварительная версия). |
Основной текст элемента в формате HTML | getRegExMatches возвращает все совпадения длиной до 3072 символов (3 КБ) для не более 50 совпадений. |
getRegExMatches возвращает все совпадения длиной до 3072 символов (3 КБ) для не более 50 совпадений.Примечание. getRegExMatches Не возвращает совпадения в определенном порядке в возвращаемом массиве. Как правило, предположим, что порядок совпадений для одного регулярного выражения, применяемого к одному и тому же почтовому элементу в Outlook в Windows и на Mac, отличается от порядка совпадений в Outlook в Интернете, на мобильных устройствах и в новом Outlook в Windows (предварительная версия). |
См. также
Office Add-ins
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по