Поделиться через


Указание приложений Office и требований к API с помощью унифицированного манифеста

Примечание.

Сведения об указании требований только для манифеста надстройки см. в разделе Указание узлов Office и требований API с помощью манифеста только надстройки.

Надстройка Office может зависеть от определенного приложения Office (также называемого узлом Office) или от определенных элементов библиотеки JavaScript для Office (office.js). Например, надстройка может:

  • работать в одном (например, Word или Excel) или нескольких приложениях Office;
  • Используйте API JavaScript для Office, доступные только в некоторых версиях Office. Например, корпоративная бессрочная версия Excel 2016 не поддерживает все API,связанные с Excel, в библиотеке Office JavaScript.
  • Предназначены для использования только в мобильном форм-факторе.

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

Существуют также сценарии, в которых вы хотите контролировать, какие функции надстройки видны пользователям на основе их приложения Office и версии Office. Ниже приведены три примера.

  • Ваша надстройка имеет функции, полезные как в Word, так и в PowerPoint, такие как управление текстом, но в ней есть некоторые дополнительные функции, которые имеют смысл только в PowerPoint, например функции управления слайдами. Если надстройка запущена в Word, необходимо скрыть функции, доступные только для PowerPoint.
  • В вашей надстройке есть функция, которая требует использования метода API JavaScript для Office, который поддерживается в некоторых версиях приложения Office, таких как Excel по подписке на Microsoft 365, но не поддерживается в других, например в корпоративных бессрочных Excel 2016. Но в вашей надстройке есть и другие функции, для которых требуются только методы API JavaScript для Office, которые поддерживаются в корпоративной лицензированной бессрочной Excel 2016. В этом сценарии надстройка должна быть установлена в этой версии Excel 2016, но функция, требующая неподдерживаемого метода, должна быть скрыта от этих пользователей.
  • Ваша надстройка имеет функции, которые поддерживаются в классическом Office, но не в мобильном Office.

Эта статья поможет вам понять, как убедиться, что надстройка работает должным образом и охватит максимально широкую аудиторию.

Примечание.

Общее представление о том, где сейчас поддерживаются надстройки Office, см. на странице Доступность клиентского приложения и платформы Office для надстроек Office .

Совет

Многие задачи, описанные в этой статье, полностью или частично выполняются при создании проекта надстройки с помощью средства, например генератора Yeoman для надстроек Office или одного из шаблонов надстройки Office в Visual Studio. В таких случаях следует интерпретировать задачу как означающую, что вы должны убедиться, что она выполнена.

Использование последней библиотеки API JavaScript для Office

Ваша надстройка должна загружать самую последнюю версию библиотеки API JavaScript для Office из сети доставки содержимого (CDN). Для этого убедитесь, что у вас есть следующий <script> тег в первом HTML-файле, открываемом надстройкой. Чтобы всегда ссылаться на последнюю версию файла Office.js, используйте /1/ в URL-адресе сети доставки содержимого.

<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js" type="text/javascript"></script>

Укажите, в каких приложениях Office может размещаться надстройка

Чтобы указать приложения Office, в которых можно установить надстройку, используйте массив extensions.requirements.scopes. Укажите любое подмножество "mail", "workbook", "document" и "presentation". В следующей таблице показано, какие сочетания приложений и платформ Office соответствуют этим значениям. Здесь также показано, какой тип надстройки можно установить для каждой область.

Имя Клиентские приложения Office Доступные типы надстроек
document Word в Интернете, Windows, Mac, iPad Область задач
mail; Outlook в Интернете, Windows (новая и классическая версия), Android, iOS Почта
презентация PowerPoint в Интернете, Windows, Mac, iPad Область задач, содержимое
workbook Excel в Интернете, Windows, Mac, iPad Область задач, содержимое

Примечание.

Контентные надстройки имеют свойство extensions.contentRuntimes. У них не может быть свойства extensions.runtimes, поэтому их нельзя объединять с областью задач или надстройкой "Почта". Дополнительные сведения о контентных надстройках см. в разделе Надстройки Content Office.

Например, следующий код JSON указывает, что надстройка может устанавливаться в любом выпуске Excel, который включает в себя Excel в Интернете, Windows и iPad, но не может быть установлен в любом другом приложении Office.

"extensions": [
    {
        "requirements": {
            "scopes": [ "workbook" ],
        },
        ...
    }
]

Примечание.

Приложения Office поддерживаются на разных платформах и работают на настольных компьютерах, веб-браузерах, планшетах и мобильных устройствах. Обычно нельзя указать, какую платформу можно использовать для запуска надстройки. Например, если указать "книга", для запуска надстройки можно использовать как Excel в Интернете, так и в Windows. Однако если указать "mail", надстройка не будет работать на мобильных клиентах Outlook, если не будет определена точка расширения для мобильных устройств.

Укажите, какие API Office нужны надстройке

Вы не можете явно указать версии и сборки Office или платформы, на которых должна быть установлена надстройка, и вы не захотите этого, так как вам придется пересматривать манифест всякий раз, когда поддержка функций надстройки, которые использует надстройка, распространяется на новую версию или платформу. Вместо этого укажите в манифесте API- интерфейсы, необходимые надстройке. Office предотвращает установку надстройки на сочетаниях версий Office и платформ, которые не поддерживают API- интерфейсы, и гарантирует, что надстройка не будет отображаться в разделе "Мои надстройки".

Важно!

Используйте только свойство "requirements", которое является прямым дочерним элементом "extensions", чтобы указать члены API, которые должны иметь какая-либо значимая ценность для вашей надстройки. Если надстройка использует API для некоторых функций, но имеет другие полезные функции, которым не нужен API, следует разработать надстройку таким образом, чтобы она устанавливалась на сочетаниях версий платформы и Office, которые не поддерживают API, но предоставляют меньше возможностей для этих сочетаний. Для этой цели используйте свойства requirements, которые не являются прямыми дочерними элементами расширений. Дополнительные сведения см. в разделе Проектирование альтернативных возможностей.

Наборы обязательных элементов

Чтобы упростить процесс указания ИНТЕРФЕЙСов API, необходимых надстройке, Office объединяет большинство API в наборы требований. API в общей объектной модели API группируются по поддерживаемой функции разработки. Например, все API, подключенные к табличным привязкам, находятся в наборе требований с именем TableBindings 1.1. API-интерфейсы в объектных моделях приложений группируются по времени их выпуска для использования в рабочих надстройках.

Наборы обязательных элементов имеют версию. Например, API- интерфейсы, поддерживающие диалоговые окна , находятся в наборе обязательных элементов DialogApi 1.1. При выпуске дополнительных API- интерфейсов, которые обеспечивают обмен сообщениями из области задач в диалог, они были сгруппированы в DialogApi 1.2, а также все API в DialogApi 1.1. Каждая версия набора требований является надмножеством всех предыдущих версий.

Поддержка набора требований зависит от приложения Office, версии приложения Office и платформы, на которой оно выполняется. Например, DialogApi 1.2 не поддерживается в корпоративных бессрочных версиях Office до Office 2021, но DialogApi 1.1 поддерживается во всех бессрочных версиях Office 2016. Вы хотите, чтобы надстройка была установлена на каждой комбинации платформы и версии Office, которая поддерживает используемые в ней API, поэтому всегда следует указывать в манифесте минимальную версию каждого набора требований, который требуется надстройке. Сведения о том, как это сделать, см. далее в этой статье.

Совет

Дополнительные сведения об управлении версиями наборов обязательных элементов см. в статье Доступность наборов обязательных элементов Office, а полные списки наборов требований и сведения о API в каждом из них начните с наборов требований надстроек Office. В справочных разделах по большинству API-интерфейсов Office.js также указывается набор требований, к которому они относятся (если таковые есть).

свойство extensions.requirements.capabilities

Используйте свойство requirements.capabilities, чтобы указать минимальные наборы требований, которые должны поддерживаться приложением Office для установки надстройки. Если приложение или платформа Office не поддерживают наборы требований или члены API, указанные в свойстве requirements.capabilities, надстройка не будет запускаться в этом приложении или платформе и не будет отображаться в разделе "Мои надстройки".

Совет

Все API в моделях, зависящих от приложений, находятся в наборах требований, но некоторые из них в модели Common API — нет. Если надстройке требуется API, который не находится ни в одном наборе обязательных элементов, можно реализовать проверка среды выполнения для доступности API и отобразить сообщение для пользователей надстройки, если он не поддерживается. Дополнительные сведения см. в разделе Проверка доступности API во время выполнения.

В следующем примере кода показано, как настроить надстройку, которая может устанавливаться во всех сочетаниях приложений и платформ Office, которые поддерживают следующее:

  • TableBindings набор обязательных требований, который имеет минимальную версию "1.1".
  • OOXML набор обязательных требований, который имеет минимальную версию "1.1".
"extensions": [
    {
        "requirements": {
            "capabilities": [ 
                {
                    "name": "TableBindings",
                    "minVersion": "1.1"
                },
                {
                    "name": "OOXML",
                    "minVersion": "1.1"
                }
            ],
        },
        ...
    }
]

Совет

Дополнительные сведения и другой пример использования свойства extensions.requirements см. в разделе extensions.requirements статьи Указание требований к надстройке Office в унифицированном манифесте для Microsoft 365.

Укажите форм-факторы, на которых можно установить надстройку

Для надстройки Outlook можно указать, должна ли надстройка устанавливаться на настольных компьютерах (включая планшеты) или мобильных форм-факторах. Чтобы настроить эту настройку, используйте свойство extensions.requirements.formFactors. В следующем примере показано, как сделать надстройку Outlook устанавливаемой в обоих форм-факторах.

"extensions": [
    {
        "requirements": {
            ...
            "formFactors": [
                "desktop",
                "mobile"
            ]
        },
        ...
    }
]

Проектирование для альтернативных интерфейсов

Функции расширяемости, предоставляемые платформой надстроек Office, можно разделить на три типа:

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

Эта конструкция реализуется по-разному в зависимости от того, как реализована функция расширяемости:

См. также