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


Схема 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.TimeZones
  • locale: Число, указывающее культуру LCID. Список допустимых значений см. в разделе Значения идентификатора языка Microsoft.
  • sortOrder: Число, определяющее порядок сортировки. Список допустимых значений см. в разделе SPRegionalSettings.Collation
  • hourFormat: Указывает, должен ли сайт использовать 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"
}

См. также