Схема JSON шаблона сайта
Шаблон сайта представляет собой список действий. Сложные действия, например создание списка, содержат вложенные действия. Каждое действие указывается с помощью значения verb (команда). Действия-команды выполняются в том порядке, в котором они указаны в скрипте JSON. Используйте только указанные здесь действия-команды, иначе при попытке загрузить скрипт сайта возникнет ошибка "не удается обработать действие". Со временем список действий будет расширяться.
Общая структура JSON выглядит так:
{
"$schema": "schema.json",
"actions": [
...
<one or more verb actions>
...
],
"bindata": { },
"version": 1
}
Совет
Вы можете просматривать последнюю версию схемы (и сверяться с ней) здесь: https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json
Примечание.
Действия на сайте можно выполнять несколько раз. Повторное выполнение действий на том же сайте с теми же параметрами приведет к обновлению, а не дублированию существующей схемы.
addContentTypesFromHub
Используйте команду addContentTypesFromHub для синхронизации типов контента из концентратора типов контента с сайтом.
Примечание.
После применения команды addContentTypesFromHub на сайте поддействие addContentType в списке сможет добавить ее в список по имени.
Значение JSON
ids
: массив ИД типов контента, которые необходимо синхронизировать.
Пример
{
"verb": "addContentTypesFromHub",
"ids": ["0x01007CE30DD1206047728BAFD1C39A850120"]
}
Создание списка SharePoint
Используйте команду createSPList для создания списка SharePoint.
Примечание.
Если применить createSPList на сайте, запуск createSPList с тем же именем списка будет действовать как обновление существующего списка.
Значения JSON
listName
: Имя списка.templateType
: Какой шаблон следует применить к списку. Как правило, используется значение 100. Полный список значений типов шаблонов задокументирован в перечислении SPListTemplateType, но в настоящее время мы поддерживаем следующие:Имя шаблона списка Перечисление Универсальный список 100 Библиотека документов 101 Опрос 102 Ссылки 103 Объявления 104 Контакты 105 События 106 Задачи 107 Доска обсуждений 108 Библиотека рисунков 109 Страницы сайта 119 Отслеживание проблем 1100 Если вы используете 101 или 119 и ссылаетесь на имена по умолчанию («Документы» или «Страницы сайта»), вы можете изменить библиотеку, созданную с помощью шаблона. См. приведенный ниже пример.
subactions
: Массив действий, которые выполняются в указанном порядке для создания вашего списка.
Пример
{
"verb": "createSPList",
"listName": "Customer Tracking",
"templateType": 100,
"subactions": [
{
"verb": "setDescription",
"description": "List of Customers and Orders"
}
]
},
{
"verb": "createSPList",
"listName": "Documents",
"templateType": 101,
"subactions": [
{
"verb": "setDescription",
"description": "This is a modified default document library"
}
]
}
Массив вложенных действий содержит дополнительные действия для создания списка. Подзакции также указываются с использованием значения verb
.
setDescription
Задает описание списка.
Значение JSON
description
: Описание нового списка.
Пример
{
"verb": "setDescription",
"description": "List of Customers and Orders"
}
addSPField
Добавляет новое поле.
Значения JSON
fieldType
: Тип поля может быть установлен наText
,Note
,Number
,Boolean
,User
, илиDateTime
. Сведения о других типах данных см. в описании действия addSPFieldXml.displayName
: Выводимое имя поля.id
: Необязательный атрибут. Если он задан, указывает идентификатор поля. Это должен быть уникальный, случайно сгенерированный идентификатор GUID. Рекомендуется указывать значение для этого, чтобы гарантировать, что поле не будет добавлено несколько раз, если скрипт будет перезапущен.internalName
: Необязательный атрибут. Если он задан, указывает внутреннее имя поля. Если не указан, внутреннее имя будет основано на отображаемом имени.isRequired
: True если это поле обязательно должно содержать информацию; в противном случае, False.addToDefaultView
: True если поле будет добавлено к виду по умолчанию; в противном случае, False.enforceUnique
: Необязательный атрибут со значением по умолчанию False. Если True, все значения для этого поля должны быть уникальными.
Пример
{
"verb": "addSPField",
"fieldType": "Text",
"displayName": "Customer Name",
"isRequired": false,
"id": "c532fcb9-cdb3-45c6-8247-c784dcd58e1a",
"addToDefaultView": true
}
deleteSPField
Удаляет стандартное поле, предоставленное выбранным типом шаблона.
Значение JSON
displayName
: Отображаемое имя для идентификации поля, которое нужно удалить.
Пример
{
"verb": "deleteSPField",
"displayName": "Modified"
}
addSPFieldXml
Позволяет определять поля и их элементы с помощью языка CAML. Описание см. в статье Элемент Field (Field). Предоставление атрибута ID в поле schemaXml важно для предотвращения создания поля несколько раз, если сценарий запускается более одного раза.
В настоящее время эти конструкции полей не могут быть обозначены как столбцы сайта или добавлены в типы контента. Чтобы создать столбцы сайта с полем XML, используйте действие createSiteColumnXml.
Значение JSON
schemaXml
: Блок CAML для определения поля.addToDefaultView
: True если поле будет добавлено к виду по умолчанию; в противном случае, False.
Пример
{
"verb": "addSPFieldXml",
"schemaXml": "<Field ID=\"{596cbd92-36e3-40cc-a910-0f53468ce5e4}\" Type=\"Choice\" DisplayName=\"Project Category\" Required=\"FALSE\" Format=\"Dropdown\" StaticName=\"ProjectCategory\" Name=\"ProjectCategory\"><Default>Operations</Default><CHOICES><CHOICE>Operations</CHOICE><CHOICE>IT</CHOICE><CHOICE>Legal</CHOICE><CHOICE>Engineering</CHOICE></CHOICES></Field>"
}
addSPLookupFieldXml
Позволяет определять поля подстановки и зависящие от них элементы списков с помощью языка CAML. Описание см. в статье Элемент Field (Field). Предоставление атрибута ID в поле schemaXml важно для предотвращения создания поля несколько раз, если сценарий запускается более одного раза.
Значение JSON
schemaXml
: Блок CAML для определения поля.targetListName
: Имя, которое идентифицирует список, на который ссылается это поле поиска. Укажите либо его, либо targetListUrl.targetListUrl
: Относительный веб-URL, который идентифицирует список, на который ссылается это поле поиска. Укажите либо его, либо targetListName.addToDefaultView
: True если поле будет добавлено к виду по умолчанию; в противном случае, False.
Пример
{
"verb": "addSPLookupFieldXml",
"schemaXml": "<Field Type=\"Lookup\" DisplayName=\"Contoso Project Category\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" ShowField=\"Title\" UnlimitedLengthInDocumentLibrary=\"FALSE\" RelationshipDeleteBehavior=\"None\" ID=\"{101f1f89-d667-4c7f-9ebc-76cb5831d0a2}\" StaticName=\"ContosoProjectCategory\" Name=\"ContosoProjectCategory\" />",
"targetListName": "Contoso Project Master"
}
addSiteColumn
Вложенное действие для добавления ранее определенного столбца сайта непосредственно в список (существующий или созданный с помощью скрипта сайта).
Значение JSON
internalName
: Внутреннее имя добавляемого столбца сайта.addToDefaultView
: необязательный атрибут, который по умолчанию имеет значение False. Если задано значение True, то в представление по умолчанию также будет добавлено только что добавленное поле.
Пример
{
"verb": "addSiteColumn",
"internalName": "siteColumnUser",
"addToDefaultView": true
}
addSPView
Определяет представление и добавляет его в список. Используйте это действие, чтобы указать необходимые столбцы и способ отображения элементов списка (с помощью запроса CAML). Свойства действия позволяют указать пределы строки, а также следует ли разбивать представление на страницы и рекурсивно повторять его во вложенных папках. Вы также можете сделать созданное представление стандартным.
Значение JSON
name
: Название вида.viewFields
: Массив внутренних имен полей в вашем представлении.query
: : Строка запроса CAML, содержащая предложениеwhere
для запроса представления. См. статью Схемы CAML.rowLimit
: Предел строки представления.isPaged
: Указывает, является ли представление выгруженным.makeDefault
: Если True, вид будет установлен по умолчанию для списка; в противном случае, False.scope
: Необязательный параметр для указания области просмотра. Для получения дополнительной информации см. Перечисление SPViewScope.formatterJSON
: Необязательный параметр для установки форматирования JSON для представления.
Пример
{
"verb": "addSPView",
"name": "Contoso Projects by Category",
"viewFields":
[
"ID",
"Title",
"siteColumnUser",
"ProjectCategory"
],
"query": "<OrderBy><FieldRef Name=\"ProjectCategory\" /><FieldRef Name=\"siteColumnUser\" Ascending=\"FALSE\" /></OrderBy>",
"rowLimit": 100,
"isPaged": true,
"makeDefault": true
}
removeSPView
Удаляет представление из списка. Кроме того, это действие можно использовать для удаления представления, унаследованного от шаблона сайта.
Значение JSON
name
: Имя вида для удаления.
Пример
{
"verb": "removeSPView",
"name": "All Items"
}
addContentType
Добавляет тип контента в список. На данный момент для этого действия используются только стандартные типы контента, включенные в шаблон сайта или определенные в скрипте c помощью действия createContentType.
Примечание.
В настоящее время добавление корпоративных типов контента не поддерживается.
Значение JSON
name
: Имя добавляемого типа контента.
Пример
{
"verb": "addContentType",
"name": "name"
}
removeContentType
Удаляет тип контента, предоставленный выбранным типом шаблона.
Значение JSON
name
: Имя типа контента, который нужно удалить.
Пример
{
"verb": "removeContentType",
"name": "name"
}
setSPFieldCustomFormatter
Задает форматирование столбца для поля. Дополнительные сведения см. в статье Настройка SharePoint с помощью форматирования столбцов.
Значения JSON
fieldDisplayName
: Выводимое имя поля для обработки.formatterJSON
: Объект JSON, используемый в качестве CustomFormatter поля.
Пример
В этом примере показано, как отформатировать столбец чисел, чтобы отобразить его в виде гистограммы.
{
"verb": "setSPFieldCustomFormatter",
"fieldDisplayName": "Effort (days)",
"formatterJSON":
{
"debugMode": true,
"elmType": "div",
"txtContent": "@currentField",
"attributes": {
"class": "sp-field-dataBars"
},
"style": {
"width": {
"operator": "?",
"operands": [
{
"operator": ">",
"operands": ["@currentField", "20"]
},
"100%",
{
"operator": "+",
"operands": [
{
"operator": "toString()",
"operands": [
{
"operator": "*",
"operands": ["@currentField",5]
}
]
},
"%"
]
}
]
}
}
}
}
associateFieldCustomizer
Регистрирует расширение поля для поля списка. Дополнительные сведения об этих клиентских расширениях см. в статье Создание настройщика полей.
Значения JSON
internalName
: Внутреннее имя поля для работы.clientSiteComponentId
: Идентификатор (GUID) расширения в каталоге приложений. Это значение свойства можно найти в файле manifest.json или elements.xml.clientSiteComponentProperties
: Необязательный параметр, который можно использовать для предоставления свойств для экземпляра расширения настройщика поля.
Пример
{
"verb": "createSPList",
"listName": "Custom List with Slider Extension",
"templateType": 100,
"subactions": [
{
"verb": "setDescription",
"description": "Custom list to illustrate SharePoint site scripting"
},
{
"verb": "addSPField",
"fieldType": "Text",
"displayName": "Text Field",
"isRequired": false,
"addToDefaultView": true
},
{
"verb": "addSPField",
"fieldType": "Number",
"displayName": "Number Field",
"internalName": "ElectricSlide",
"addToDefaultView": true,
"isRequired": true
},
{
"verb": "associateFieldCustomizer",
"internalName": "ElectricSlide",
"clientSideComponentId": "35944670-3111-4482-b152-9e9d1sean9f7",
"clientSideComponentProperties": "{\"sampleText\":\"Yes - added by a site template, what?\"}"
}
]
}
associateListViewCommandSet
Связывает объект ListViewCommandSet со списком.
Значения JSON
title
: Название расширения.location
: Обязательный параметр, чтобы указать, где отображается команда. Параметры: ClientSideExtension.ListViewCommandSet.ContextMenu или ClientSideExtension.ListViewCommandSet.CommandBar.clientSideComponentId
: Идентификатор (GUID) расширения в каталоге приложений. Это значение свойства можно найти в файле manifest.json или elements.xml.clientSideComponentProperties
: Необязательный параметр, который можно использовать для предоставления свойств для экземпляра расширения.
Пример
{
"verb": "createSPList",
"listName": "CustomList",
"templateType": 100,
"subactions": [
{
"verb": "setDescription",
"description": "Custom list to illustrate SharePoint site scripting"
},
{
"verb": "addSPField",
"fieldType": "Text",
"displayName": "Text Field",
"isRequired": false,
"addToDefaultView": true
},
{
"verb": "addSPField",
"fieldType": "Number",
"displayName": "Number Field",
"internalName": "ElectricSlide",
"addToDefaultView": true,
"isRequired": true
},
{
"verb": "associateListViewCommandSet",
"title": "HelloWorld",
"location": "ClientSideExtension.ListViewCommandSet.CommandBar",
"clientSideComponentId": "13234283-d6c2-408f-a9ef-31a920c8ae78",
"clientSideComponentProperties": "{\"sampleText\":\"added by a site template\"}"
}
]
}
setTitle
Переименовывает список. Чтобы создать новый список с определенным именем, вместо использования setTitle используйте параметр listName
в действии CreateSPList
.
Примечание.
Использование setTitle
переименует список, не позволяя обновлять его в случае повторного применения шаблона сайта.
Значение JSON
title
: Название нового списка.
Пример
{
"verb": "setTitle",
"title": "Customers and Orders"
}
Определение нового столбца сайта
Используйте команду createSiteColumn
, чтобы определить новый столбец сайта, который затем можно будет сопоставить со списком либо напрямую, либо с помощью действия addContentType.
Значение JSON
fieldType
: Тип добавляемого столбца. Поддерживаемые значения (как и в типе SPField): Text (Текст), Note (Примечание), Number (Число), Boolean (Логическое), User (Пользователь) и DateTime (Дата и время). Сведения о других типах данных см. в описании действия скрипта addSPFieldXml.internalName
: Внутреннее имя столбца сайта;displayName
: Выводимое имя столбца сайта.isRequired
: True если это поле обязательно должно содержать информацию; в противном случае, False.id
: Необязательный атрибут. Если он задан, указывает идентификатор поля. Это должен быть уникальный, случайно сгенерированный идентификатор GUID. Рекомендуется указывать значение для этого, чтобы гарантировать, что поле не будет добавлено несколько раз, если скрипт будет перезапущен.group
: Необязательный атрибут для обозначения группы столбцов.enforceUnique
: Необязательный атрибут со значением по умолчанию False. Если True, все значения для этого поля должны быть уникальными.
Пример
{
"verb": "createSiteColumn",
"fieldType": "User",
"internalName": "siteColumn4User",
"displayName": "Project Owner",
"isRequired": false,
"id": "181c4370-cdae-471b-9499-730046e55b75"
}
Используйте команду createSiteColumnXml
, чтобы определить новый столбец сайта для тех сложных типов данных, которые не поддерживаются createSiteColumn. Затем эти столбцы можно связать со списком напрямую или при помощи действия addContentType. Предоставление атрибута ID в поле schemaXml важно для предотвращения создания поля несколько раз, если сценарий запускается более одного раза.
Значение JSON
schemaXml
: Блок CAML для определения поля.pushChanges
Указывает, следует ли отправить это изменение в списки, которые уже ссылаются на это поле. По умолчанию значение true.
Пример
{
"verb": "createSiteColumnXml",
"schemaXml": "<Field ID=\"{82581bd1-356f-4206-8ff7-a3b6ad1f5553}\" Type=\"Choice\" DisplayName=\"Project Status\" Required=\"FALSE\" Format=\"Dropdown\" StaticName=\"ProjectStatus\" Name=\"ProjectStatus\"><Default>In Progress</Default><CHOICES><CHOICE>In Progress</CHOICE><CHOICE>In Review</CHOICE><CHOICE>Done</CHOICE><CHOICE>Has Issues</CHOICE></CHOICES></Field>"
}
Определение нового типа контента
Используйте действие createContentType, чтобы определить новый тип контента, который затем можно будет сопоставить со списком c помощью действия addContentType.
Значение JSON
Примечание.
При ссылке на идентификатор типа контента необходим только один из следующих трех параметров: ID, parentName или parentId.
name
: Имя типа контента для создания.description
: Необязательное описание типа контента.parentName
: Имя родительского типа контента.parentId
: Идентификатор родительского типа контента.id
: Идентификатор типа контента.hidden
: Указывает, является ли тип содержимого видимым или скрытым.group
: Группа по типу контента.subactions
: Определяет второстепенные действия для запуска по типу контента. Они используются для обозначения столбцов сайта, которые необходимо добавить.
Пример
{
"verb": "createContentType",
"name": "Contoso Projects",
"description": "custom list content type",
"parentName": "Item",
"hidden": false,
"group": "Contoso",
"subactions":
[
{
"verb": "addSiteColumn",
"internalName": "siteColumn1Text"
},
{
"verb": "addSiteColumn",
"internalName": "siteColumn2Number"
},
{
"verb": "addSiteColumn",
"internalName": "siteColumn3Note"
}
]
}
addSiteColumn
Вложенное действие для добавления ранее определенного столбца сайта непосредственно в тип контента (существующий или созданный с помощью скрипта сайта).
Значение JSON
internalName
: Внутреннее имя добавляемого столбца сайта.
Пример
{
"verb": "addSiteColumn",
"internalName": "siteColumnUser"
}
removeSiteColumn
Вложенное действие для удаления столбца сайта из списка или типа контента.
Значение JSON
internalName
: Внутреннее имя удаляемого столбца сайта.
Пример
{
"verb": "removeSiteColumn",
"internalName": "siteColumnUser"
}
Добавление ссылки для перехода
Используйте команду addNavLink
, чтобы добавить новую навигационную ссылку на сайт QuickLaunch или Hub navigation.
Значения JSON
url
: URL-адрес ссылки для добавления.displayName
: Отображаемое имя ссылки.navComponent
Компонент, в который нужно добавить ссылку, QuickLaunch, Hub или Footer. По умолчанию задано значение QuickLaunch.isWebRelative
: True если ссылка является веб-относительной; в противном случае, False. Значение по умолчанию - false.parentDisplayName
: Необязательный параметр. Если он указан, то данная навигационная ссылка становится дочерней для навигационной ссылки с этим значением displayName. Если указано и это значение, и параметр parentUrl, то выполняется поиск родительской ссылки, соответствующей обоим значениям.parentUrl
: Необязательный параметр. Если он указан, эта навигационная ссылка становится дочерней (подссылкой) для навигационной ссылки с этим URL-адресом. Если указано и это значение, так и parentDisplayName, то выполняется поиск родительской ссылки, соответствующей обоим значениям.isParentUrlWebRelative
: Необязательный параметр. True если ссылка является веб-относительной; в противном случае, False. Значение по умолчанию — False.
Пример
Примечание.
При добавлении ссылки на вложенный элемент сайта, в частности список, обязательно указывайте путь от корневого сайта.
{
"verb": "addNavLink",
"url": "/Customer Event Collateral",
"displayName": "Event Collateral",
"navComponent":"Hub",
"isWebRelative": true
},
{
"verb": "addNavLink",
"url": "/Lists/Project Activities",
"displayName": "Project Activities",
"isWebRelative": true
},
{
"verb": "addNavLink",
"url": "https://learn.microsoft.com/sharepoint/dev/declarative-customization/site-design-overview",
"displayName": "SharePoint Site Design Overview",
"parentDisplayName": "Documents"
},
{
"verb": "addNavLink",
"url": "https://learn.microsoft.com/sharepoint/dev/declarative-customization/site-design-json-schema#add-a-navigation-link",
"displayName": "About Site Footer",
"navComponent":"Footer"
},
{
"verb": "addNavLink",
"url": "",
"displayName": "Linkless Heading",
"isWebRelative": false
}
Удаление навигационной ссылки
Используйте команду removeNavLink
, чтобы удалить навигационную ссылку с сайта.
Значения JSON
url
: URL-адрес ссылки для удаления.displayName
: Отображаемое имя ссылки.navComponent
Компонент, из которого необходимо удалить ссылку, QuickLaunch, Hub или Footer. По умолчанию задано значение QuickLaunch.isWebRelative
: True если ссылка является веб-относительной; в противном случае, False.
Пример
Примечание.
С помощью этого действия можно удалять ссылки сайтов, добавленные шаблонами сайтов для совместной работы и связи (например, "Главная", "Документы", "Страницы" и "Беседы").
{
"verb": "removeNavLink",
"displayName": "Home",
"isWebRelative": true
},
{
"verb": "removeNavLink",
"displayName": "Pages",
"isWebRelative": true
},
{
"verb": "removeNavLink",
"displayName": "Conversations",
"isWebRelative": true
},
{
"verb": "removeNavLink",
"url": "/_layouts/15/groupstatus.aspx?Target=TEAM",
"displayName": "Teams",
"isWebRelative": true
}
Обработка специальных знаков
Сайты, созданные на языках, отличных от английского, могут содержать специальные знаки. Для чтения контента JSON, содержащего специальные знаки, используйте кодировку UTF-8.
Get-Content '<Folder_location_to_site_script>\site-script.json' -Raw -Encoding UTF8
Применение темы
Используйте команду applyTheme
, чтобы добавить пользовательскую тему на сайт. Дополнительные сведения о создании и добавлении этих тем см. в статье Настройка темы сайта SharePoint. Это действие сайта работает только для применения пользовательских тем; чтобы применить одну из наших тем SharePoint в составе продукта, создайте копию как пользовательскую и создайте ссылку на нее.
Примечание.
Это действие автоматически блокируется для сайтов каналов.
Значение JSON
themeName
: Название темы для применения.
Пример
{
"verb": "applyTheme",
"themeName": "Blue Yonder"
}
Настройка свойств фирменной символики
Используйте команду setSiteBranding
, чтобы указать макет навигации, макет заголовка и фон заголовка.
Примечание.
Настройка структуры навигации возможна только в шаблонах информационных сайтов и для центральной структуры навигации. Это действие автоматически блокируется для сайтов каналов.
Значение JSON
navigationLayout
: Укажите навигационный макет как Каскад или МегаменюheaderLayout
: Укажите макет заголовка как Стандартный или КомпактныйheaderBackground
: Выбор фона заголовка как "нет", "нейтрально", "мягкий" или "надежный"showFooter
: Укажите, должен ли показываться нижний колонтитул сайта или нет
Пример
{
"verb": "setSiteBranding",
"navigationLayout": "Megamenu",
"headerLayout": "Compact",
"headerBackground": "Strong",
"showFooter": true
}
Установка логотипа сайта
Используйте команду setSiteLogo
, чтобы указать логотип для вашего сайта.
Примечание.
Это действие работает только для шаблона информационного сайта (68).
Значение JSON
url
: URL-адрес используемого изображения логотипа.
Пример
{
"verb": "setSiteLogo",
"url": "/Customer Event Collateral/logo.jpg"
}
Присоединение к центральному сайту
Примечание.
Это действие автоматически блокируется для сайтов каналов.
Используйте команду joinHubSite
, чтобы присоединить сайт к назначенному сайту-концентратору.
Значение JSON
hubSiteId
: Идентификатор сайта-концентратора, к которому нужно присоединиться.name
: Необязательная строка, указывающая имя сайта-концентратора.
Пример
Примечание.
Чтобы получить hubSiteId
, войдите на сайт с помощью командлета Connect-PnPOnline и запустите:
$hubSiteName = "My Hub Site"
Get-PnPHubSite | Where-Object { $_.Title -eq $hubSiteName }
Возвращает информацию о сайте-концентраторе с именем $hubSiteName. HubSiteId возвращается как SiteId.
{
"verb": "joinHubSite",
"hubSiteId": "e337cc17-b355-45d2-8dd4-e056f1bcf6f6"
}
Установка надстройки или решения
Используйте действие installSolution
для установки развернутой надстройки или решения SharePoint Framework из каталога приложений клиента.
Пример
Примечание.
Чтобы получить идентификатор решения, войдите в систему на сайте с помощью командлета Connect-PnPOnline, а затем выполните команду Get-PnPApp. В результате будет возвращен список развернутых решений. Для клиентов с поддержкой нескольких регионов используйте идентификатор продукта после настройки решения в каждом географическом расположении. Получите идентификатор продукта, отправив решение в каталог приложений, или в определении решения.
{
"verb": "installSolution",
"id": "d40e4edc-a6da-4cd8-b82d-bba970976803"
}
Регистрация расширения
Используйте действие associateExtension
, чтобы зарегистрировать развернутое расширение SharePoint Framework из каталога приложений клиента.
Примечание.
Дополнительные сведения о создании и настройке расширения SharePoint Framework см. в статье Обзор расширений SharePoint Framework.
Значения JSON
title
: Название расширения в каталоге приложений.location
: Используется для указания типа расширения. Если он используется для создания команд, то место, где команда будет отображаться; В противном случае для параметра должно быть задано значение ClientSideExtension.ApplicationCustomizer.clientSideComponentId
: Идентификатор (GUID) расширения в каталоге приложений. Это значение свойства можно найти в файле manifest.json или elements.xml.clientSideComponentProperties
: Необязательный параметр, который можно использовать для предоставления свойств для экземпляра расширения.registrationId
: Необязательный параметр, который указывает тип списка, с которым связано расширение (если это расширение списка).registrationType
: Необязательный параметр, который следует указывать, если расширение связано со списком.scope
: Указывает, связано ли расширение сWeb
илиSite
.
Пример
{
"verb": "associateExtension",
"title": "SPFXApplicationCustomizer Example",
"location": "ClientSideExtension.ApplicationCustomizer",
"clientSideComponentId": "40d64749-a6e5-4691-b440-1e32fb6sean5",
"scope": "Web"
}
Активация компонента
Используйте действие activateSPFeature
для активации функции SharePoint.
Значения JSON
featureId
: Идентификатор функции для активации (GUID).scope
: Указывает, связана ли функция сweb
илиsite
.
Пример
Чтобы включить функцию веб-области, которая позволяет создавать списки событий (идентификатор функции 00bfea71-ec85-4903-972d-ebe475780106):
{
"verb": "activateSPFeature",
"featureId": "00bfea71-ec85-4903-972d-ebe475780106",
"scope": "web"
}
Вызов потока
Используйте команду triggerFlow
, чтобы запустить пользовательский поток.
Совет
В статье Вызов Power Automate из сценария сайта приведен комплексный пример.
Значения JSON
url
: URL-адрес триггера потока.name
: Название потока.parameters
: Необязательный набор параметров для передачи в поток.
Пример
{
"verb": "triggerFlow",
"url": "<A trigger URL of the Flow.>",
"name": "Record and tweet site creation event",
"parameters": {
"event": "Microsoft Event",
"product": "SharePoint"
}
}
Настройка региональных параметров
Примечание.
Это действие автоматически блокируется для сайтов каналов.
Используйте действие setRegionalSettings
для настройки региональных параметров сайта (/_layouts/15/regionalsetng.aspx).
Значения JSON
timeZone
: : Число, указывающее часовой пояс. Список допустимых значений см. в разделе SPRegsionalSettings.TimeZoneslocale
: Число, указывающее культуру LCID. Список допустимых значений см. в разделе Значения идентификатора языка Microsoft.sortOrder
: Число, определяющее порядок сортировки. Список допустимых значений см. в разделе SPRegionalSettings.CollationhourFormat
: Указывает, должен ли сайт использовать 12-часовой или 24-часовой формат времени.
Пример
{
"verb": "setRegionalSettings",
"timeZone": 2, /* Greenwich Mean Time */
"locale": 1050, /* Croatia */
"sortOrder": 6, /* Croatian */
"hourFormat": "24"
}
Добавление пользователей (субъектов) в группы SharePoint
Примечание.
Это действие автоматически блокируется для сайтов каналов.
Используйте действие addPrincipalToSPGroup
для управления добавлением пользователей и групп для выбора групп SharePoint по умолчанию. Дополнительные сведения см. в статье Общие сведения о группах SharePoint. Это действие можно использовать для лицензированных пользователей, групп безопасности и компонента «Группы Microsoft 365».
Значения JSON
principal
: Обязательный параметр для указания имени участника (пользователя или группы) для добавления в группу SharePoint.group
: Обязательный параметр, чтобы указать группу SharePoint, к которой нужно добавить участника.
Пример
Примечание.
В настоящее время это действие поддерживает только группы посетителей (уровень разрешений: чтение), группы членов (уровень разрешений: соавторство или редактирование в зависимости от того, каков шаблон сайта) и группы владельцев (уровень разрешений: полный контроль). Субъекты необходимо добавлять по отдельности.
{
"verb": "addPrincipalToSPGroup",
"principal": "sean@contosotravel.onmicrosoft.com", /* user */
"group": "Owners"
},
{
"verb": "addPrincipalToSPGroup",
"principal": "travelops", /* sg */
"group": "Owners"
},
{
"verb": "addPrincipalToSPGroup",
"principal": "itexecutives", /* mail-enabled sg */
"group": "Members"
},
{
"verb": "addPrincipalToSPGroup",
"principal": "Adventure@contosotravel.onmicrosoft.com", /* o365 group */
"group": "Visitors"
}
Управление гостевым доступом
Примечание.
Это действие автоматически блокируется для сайтов каналов.
Используйте действие setSiteExternalSharingCapability
для управления гостевым доступом. Дополнительные сведения см. в статье Управление внешним общим доступом для среды SharePoint Online
Значения JSON
capability
: Обязательный параметр, чтобы указать параметр общего доступа для семейства сайтов. Четыре варианта:Disabled
,ExistingExternalUserSharingOnly
,ExternalUserSharingOnly
, иExternalUserAndGuestSharing
.
Пример
{
"verb": "setSiteExternalSharingCapability",
"capability": "Disabled"
}