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


REST API для работы с макетами и скриптами сайтов

При помощи интерфейса REST для SharePoint можно выполнять операции CRUD (создание, чтение, обновление и удаление) с макетами и скриптами сайтов.

Служба REST в SharePoint Online (а также локальной среде SharePoint 2016 или более поздней версии) поддерживает объединение нескольких запросов в один вызов службы с помощью параметра запроса OData $batch. Подробные сведения и ссылки на примеры кода см. в статье Отправка пакетных запросов с помощью интерфейсов REST API.

Предварительные требования

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

Команды REST

Для работы с макетами и скриптами сайтов доступны следующие команды REST:

  • CreateSiteScript — создает скрипт сайта.
  • GetSiteScripts — возвращает список сведений о существующих скриптах сайта.
  • GetSiteScriptFromWeb — создает синтаксис скрипта сайта на основе существующего сайта SharePoint.
  • GetSiteScriptFromList — создает синтаксис скрипта сайта из существующего списка SharePoint.
  • GetSiteScriptMetadata — получает сведения о конкретном скрипте сайта.
  • UpdateSiteScript — Обновления скрипт сайта с новыми значениями.
  • DeleteSiteScript — удаляет скрипт сайта.
  • CreateSiteDesign — создает макет сайта.
  • ApplySiteDesign — применяет дизайн сайта к существующему семейству веб-сайтов.
  • AddSiteDesignTaskToCurrentWeb — добавляет задачу проектирования сайта в текущий веб-сайт.
  • GetSiteDesigns — возвращает список сведений о существующих макетах сайтов.
  • GetSiteDesignMetadata — получает сведения о конкретном макете сайта.
  • UpdateSiteDesign — Обновления макет сайта с новыми значениями.
  • DeleteSiteDesign — удаляет макет сайта.
  • GetSiteDesignRights — возвращает список субъектов, имеющих доступ к макету сайта.
  • GrantSiteDesignRights — предоставляет доступ к дизайну сайта для одного или нескольких субъектов.
  • RevokeSiteDesignRights — отменяет доступ из макета сайта для одного или нескольких субъектов.

Создание функции для отправки запросов REST

Чтобы работать с REST API, рекомендуем создать вспомогательную функцию для отправки вызовов REST. Приведенная ниже функция RestRequest вызывает метод REST, указанный в параметре url, и передает дополнительные параметры в аргументе params.

function RestRequest(url,params) {
  var req = new XMLHttpRequest();
  req.onreadystatechange = function ()
  {
    if (req.readyState != 4) // Loaded
      return;
    console.log(req.responseText);
  };

  // Prepend web URL to url and remove duplicated slashes.
  var webBasedUrl = (_spPageContextInfo.webServerRelativeUrl + "//" + url).replace(/\/{2,}/,"/");
  req.open("POST",webBasedUrl,true);
  req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
  req.setRequestHeader("ACCEPT", "application/json; odata.metadata=minimal");
  req.setRequestHeader("x-requestdigest", _spPageContextInfo.formDigestValue);
  req.setRequestHeader("ODATA-VERSION","4.0");
  req.send(params ? JSON.stringify(params) : void 0);
}

CreateSiteScript

Создает скрипт сайта.

Параметры

Параметр Описание
Название Отображаемое имя макета сайта.
Статья Значение JSON, описывающее скрипт. Дополнительные сведения см. в справочнике по JSON.

Примеры

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

var site_script =
{
  "$schema": "schema.json",
  "actions": [
    {
      "verb": "applyTheme",
      "themeName": "Contoso Theme"
    }
  ],
  "bindata": { },
  "version": 1
};

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.CreateSiteScript(Title=@title)?@title='Contoso theme script'", site_script);

В этом примере после вызова команды CreateSiteScript возвращается нотация объектов JavaScript (JSON), содержащая идентификатор нового скрипта сайта.

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptMetadata",
  "Content": null,
  "Description": null,
  "Id": "7647d3d6-1046-41fe-a798-4ff66b099d12",
  "Title": "Contoso customer list",
  "Version": 0
}

GetSiteScripts

Получает список сведений обо всех имеющихся скриптах сайтов.

Параметры

Нет.

Примеры

Ниже показано, как получить информацию обо всех скриптах сайта.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteScripts");

В этом примере JSON возвращается после вызова команды GetSiteScripts.

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Collection(Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptMetadata)",
  "value": [
    {
      "Content": null,
      "Description": null,
      "Id": "6dfedb96-c090-44e3-875a-1c38032715fc",
      "Title": "Customer orders",
      "Version": 1
    },
    {
      "Content": null,
      "Description": null,
      "Id": "07702c07-0485-426f-b710-4704241caad9",
      "Title": "Contoso theme",
      "Version": 1
    }
  ]
}

GetSiteScriptFromWeb

Получает синтаксис сценария сайта для определенного сайта SharePoint.

Параметры

Параметр Описание
webUrl URL-адрес, который начинается с HTTPS сайта для получения сценария сайта.
IncludeBranding (Необязательно) True, если брендинг будет извлечен; иначе false.
IncludedLists (Необязательно) Массив из одного или нескольких списков. Каждый идентифицируется по списку URL.
IncludeRegionalSettings (Необязательно) True, если будут извлечены региональные настройки; иначе false.
IncludeSiteExternalSharingCapability (Необязательно) True, если возможность внешнего обмена будет извлечена; иначе false.
IncludeTheme (Необязательно) True, если пользовательская тема будет извлечена; иначе false.
IncludeLinksToExportedItems (Необязательно) True, если навигационные ссылки будут извлечены; иначе false. Чтобы экспортировать навигационные ссылки, указывающие на списки, этот список также должен быть включен в запрос.

Примечание.

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

Примеры

Вот пример получения объекта JSON сценария сайта из семейства сайтов Contoso.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteScriptFromWeb", {
   "webUrl":"https://contoso.sharepoint.com/",
   "info":{
      "IncludeBranding":true,
      "IncludedLists":[
         "Lists/Contoso customer list"
      ],
      "IncludeRegionalSettings":true,
      "IncludeSiteExternalSharingCapability":true,
      "IncludeTheme":true,
      "IncludeLinksToExportedItems":true
   }
});

Вот пример JSON, возвращенного после вызова GetSiteScriptFromWeb.

Примечание.

Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

{
    "$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json",
    "actions": [
      {
        "verb": "createSPList",
        "listName": "Contoso customer list",
        "templateType": 100,
        "subactions": [
          {
            "verb": "addSPView",
            "name": "All Items",
            "viewFields": [
              "LinkTitle"
            ],
            "query": "",
            "rowLimit": 30,
            "isPaged": true,
            "makeDefault": true,
            "addLink": "Contoso customer list"
          }
        ]
      },
      {
        "verb": "setSiteBranding",
        "navigationLayout": "Cascade",
        "headerLayout": "Standard",
        "headerBackground": "None",
        "showFooter": false
      },
      {
        "verb": "applyTheme",
        "themeJson": {
          "version": "2",
          "isInverted": false,
          "palette": {
            "neutralPrimaryAlt": "#ff4b4b4b",
            "themeLighterAlt": "#fff1faf0",
            "black": "#ff1d1d1d",
            "themeTertiary": "#ff55ae48",
            "primaryBackground": "#ffffffff"
          }
        }
      },
      {
        "verb": "setSiteExternalSharingCapability",
        "capability": "ExternalUserSharingOnly"
      },
      {
        "verb": "setRegionalSettings",
        "timeZone": 13,
        "locale": 1033,
        "sortOrder": 25,
        "hourFormat": "12"
      },
      {
        "verb": "addNavLink",
        "url": "/Lists/Contoso customer list",
        "displayName": "Contoso customer list",
        "isWebRelative": true,
        "navComponent": "QuickLaunch"
      }
    ]
  }

GetSiteScriptFromList

Получает синтаксис сценария сайта для определенного списка.

Параметры

Параметр Описание
listUrl URL-адрес списка для получения скрипта сайта

Примеры

Ниже приведен пример получения объекта JSON скрипта сайта из списка клиентов Contoso.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteScriptFromList", {listUrl: "https://consoso.sharepoint.com/sites/projectgo/Lists/Contoso%20customer%20list"});

Ниже приведен пример объекта JSON, возвращаемого после вызова команды GetSiteScriptFromList.

{"@odata.context":"https://constoso.sharepoint.com/sites/projectgo/_api/$metadata#Edm.String","value":"{
  "actions": [
    {
      "verb": "createSPList",
      "listName": "Contoso customer list",
      "templateType": 100,
      "subactions": [
        {
          "verb": "addSPView",
          "name": "All Items",
          "viewFields": [
            "LinkTitle"
          ],
          "query": "",
          "rowLimit": 30,
          "isPaged": true,
          "makeDefault": true
        }
      ]
    },
    {
      "verb": "addNavLink",
      "url": "Lists/Contoso customer list/AllItems.aspx",
      "displayName": "Contoso customer list",
      "isWebRelative": true
    }
  ]
}"}

GetSiteScriptMetadata

Получает сведения об определенном скрипте сайта, а также возвращает JSON для скрипта.

Параметры

Параметр Описание
id Идентификатор скрипта сайта, сведения о котором необходимо получить.
RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteScriptMetadata",
{id:"07702c07-0485-426f-b710-4704241caad9"});

Примеры

Ниже приведен пример объекта JSON, возвращаемого после вызова команды GetSiteScriptMetadata.

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptMetadata",
  "Content": "{\r\n    \"$schema\": \"schema.json\",\r\n        \"actions\": [\r\n            {\r\n               \"verb\": \"applyTheme\",\r\n               \"themeName\": \"Custom Cyan\"\r\n            }\r\n        ],\r\n            \"bindata\": { },\r\n    \"version\": 1\r\n}",
  "Description": null,
  "Id": "07702c07-0485-426f-b710-4704241caad9",
  "Title": "Contoso theme",
  "Version": 1
}

UpdateSiteScript

Обновляет скрипт сайта с использованием новых значений. В вызове REST единственным обязательным параметром является идентификатор скрипта сайта.

Параметры

Параметр Описание
Id Идентификатор скрипта сайта, который требуется обновить.
Название (Необязательный.) Новое отображаемое имя скрипта сайта.
Описание (Необязательный.) Новое описание скрипта сайта.
Version (Необязательный.) Новый номер версии для скрипта сайта.
Статья (Необязательный.) Новый скрипт JSON, определяющий действия скрипта. Дополнительные сведения см. в статье Схема JSON для макетов сайтов.

Примеры

Ниже показано, как обновить скрипт сайта, используя новые значения и скрипт JSON.

var updated_site_script =
{
  "$schema": "schema.json",
  "actions": [
    {
      "verb": "applyTheme",
      "themeName": "Contoso Theme"
    }
  ],
  "bindata": { },
  "version": 2
};

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.UpdateSiteScript",
{updateInfo:{
  Id:"07702c07-0485-426f-b710-4704241caad9",
  Title:"New Contoso theme",
  Description:"Updated Contoso site script",
  Version: 2,
  Content: JSON.stringify(updated_site_script)}});

Вот пример JSON, возвращаемой после вызова команды UpdateSiteScript.

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptMetadata",
  "Content": "{\"$schema\":\"schema.json\",\"actions\":[{\"verb\":\"applyTheme\",\"themeName\":\"Contoso Theme\"}],\"bindata\":{},\"version\":2}",
  "Description": "Updated Contoso site script",
  "Id": "07702c07-0485-426f-b710-4704241caad9",
  "Title": "New Contoso theme",
  "Version": 2
}

DeleteSiteScript

Удаляет скрипт сайта.

Параметры

Параметр Описание
id Идентификатор скрипта сайта, который необходимо удалить.

Примеры

Ниже показано, как удалить скрипт сайта.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.DeleteSiteScript",
{id:"07702c07-0485-426f-b710-4704241caad9"});

CreateSiteDesign

Создает макет сайта, доступный пользователям при создании сайта на начальной странице SharePoint.

Параметры

Параметр Описание
id Идентификатор макета сайта, который требуется применить.
Title Отображаемое имя макета сайта.
WebTemplate Указывает, к какому базовому шаблону будет добавлен макет. Значение 64 обозначает шаблон сайта группы, а значение 68 — шаблон сайта для общения.
SiteScriptIds Массив из одного или нескольких скриптов сайта. Каждый из них определяется по идентификатору. Скрипты будут выполняться в указанном порядке.
Description (Необязательный.) Отображаемое описание макета сайта.
PreviewImageUrl (Необязательный.) URL-адрес изображения для предварительного просмотра. Если он не указан, SharePoint использует стандартное изображение.
PreviewImageAltText (Необязательный.) Замещающий текст с описанием изображения для просмотра для специальных возможностей.
IsDefault (Необязательный.) Выберите значение True, чтобы макет сайта применялся как стандартный. В противном случае используйте значение False. Дополнительные сведения см. в статье Настройка стандартного макета сайта

Примеры

Ниже показано, как создать макет сайта.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.CreateSiteDesign",{
  info:{
    Title:"Contoso customer tracking",
    Description:"Creates customer list and applies standard theme",
    SiteScriptIds:["07702c07-0485-426f-b710-4704241caad9"],
    WebTemplate:"64",
    PreviewImageUrl: "https://contoso.sharepoint.com/SiteAssets/contoso-design.png",
    PreviewImageAltText: "Customer tracking site design theme"
    }
  });

Вот пример JSON, возвращаемой после вызова команды CreateSiteDesign. В ней также содержится идентификатор нового макета сайта.

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignMetadata",
  "Description": "Creates customer list and applies standard theme",
  "PreviewImageAltText": "Customer tracking site design theme",
  "PreviewImageUrl": "https://contoso.sharepoint.com/SiteAssets/contoso-design.png",
  "SiteScriptIds": [ "07702c07-0485-426f-b710-4704241caad9" ],
  "Title": "Contoso customer tracking",
  "WebTemplate": "64",
  "Id": "614f9b28-3e85-4ec9-a961-5971ea086cca",
  "Version": 1
}

ApplySiteDesign

Применяет макет сайта к существующему семейству веб-сайтов.

Параметры

Параметр Описание
siteDesignId Идентификатор макета сайта, который требуется применить.
webUrl URL-адрес семейства веб-сайтов, к которому необходимо применить макет сайта.

Примеры

В примере ниже показано, как применить макет сайта к семейству веб-сайтов ProjectGo.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.ApplySiteDesign", {"siteDesignId": "614f9b28-3e85-4ec9-a961-5971ea086cca", "webUrl":"https://contoso.sharepoint.com/sites/projectgo"});

AddSiteDesignTaskToCurrentWeb

Добавляет вызываемую асинхронно задачу применения макета для текущего сайта.

Параметры

Параметр Описание
siteDesignId Идентификатор макета сайта, который требуется применить.

Примеры

В примере ниже показано, как добавить задачу применения макета сайта для семейства веб-сайтов ProjectGo.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.AddSiteDesignTaskToCurrentWeb", {siteDesignId: "614f9b28-3e85-4ec9-a961-5971ea086cca"});

GetSiteDesigns

Получает список сведений об имеющихся макетах сайтов.

Параметры

Нет.

Примеры

Ниже показано, как получить все макеты сайта.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteDesigns");

Вот пример JSON, возвращаемой после вызова команды GetSiteDesigns.

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Collection(Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignMetadata)",
  "value": [
    {
      "Description": "Tracks customer orders",
      "IsDefault": false,
      "PreviewImageAltText": null,
      "PreviewImageUrl": null,
      "SiteScriptIds": [ "6dfedb96-c090-44e3-875a-1c38032715fc" ],
      "Title": "customer orders",
      "WebTemplate": "64",
      "Id": "bbbd5740-ed97-461b-8b8e-e682f3fa167b",
      "Version": 1
    },
    {
      "Description": "Creates customer list and applies standard theme",
      "IsDefault": true,
      "PreviewImageAltText": "Customer tracking site design theme",
      "PreviewImageUrl": "https://contoso.sharepoint.com/SiteAssets/site_design.png",
      "SiteScriptIds": [ "07702c07-0485-426f-b710-4704241caad9" ],
      "Title": "Contoso customer tracking",
      "WebTemplate": "64",
      "Id": "614f9b28-3e85-4ec9-a961-5971ea086cca",
      "Version": 1
    }
  ]
}

GetSiteDesignMetadata

Получает сведения об определенном макете сайта.

Параметры

Параметр Описание
id Идентификатор макета сайта, сведения о котором необходимо получить.

Примеры

Ниже показано, как получить сведения об определенном макете сайта с помощью его идентификатора.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteDesignMetadata",
{id:"614f9b28-3e85-4ec9-a961-5971ea086cca"});

Вот пример JSON, возвращаемой после вызова команды GetSiteDesignMetadata.

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignMetadata",
  "Description": "Creates customer list and applies standard theme",
  "IsDefault": true,
  "PreviewImageAltText": "Customer tracking site design theme",
  "PreviewImageUrl": "https://contoso.sharepoint.com/SiteAssets/site_design.png",
  "SiteScriptIds": [ "07702c07-0485-426f-b710-4704241caad9" ],
  "Title": "Contoso customer tracking",
  "WebTemplate": "64",
  "Id": "614f9b28-3e85-4ec9-a961-5971ea086cca",
  "Version": 1
}

UpdateSiteDesign

Обновляет макет сайта с использованием новых значений. В вызове REST единственным обязательным параметром является идентификатор скрипта сайта.

Примечание.

Если вы присвоили параметру IsDefault значение TRUE и хотите, чтобы это значение сохранилось, передайте этот параметр еще раз (иначе будет восстановлено значение FALSE).

Параметры

Параметр Описание
Id Идентификатор макета сайта, который требуется обновить.
Название (Необязательный.) Новое отображаемое имя обновленного макета сайта.
WebTemplate (Необязательный.) Новый шаблон, в который необходимо добавить макет сайта. Значение 64 обозначает шаблон сайта группы, а значение 68 — шаблон информационного сайта.
SiteScripts (Необязательный.) Новый массив из одного или нескольких скриптов сайта. Каждый из них определяется по идентификатору. Скрипты будут выполняться в указанном порядке.
Описание (Необязательный.) Новое отображаемое описание обновленного макета сайта.
PreviewImageUrl (Необязательный.) Новый URL-адрес для предварительного просмотра изображения.
PreviewImageAltText (Необязательный.) Новый замещающий текст с описанием изображения для просмотра для специальных возможностей.
IsDefault (Необязательный.) Выберите значение True, чтобы макет сайта применялся как стандартный. В противном случае используйте значение False. Дополнительные сведения см. в статье Настройка стандартного макета сайта

Примеры

В примере ниже показано, как обновить все значения существующего макета сайта.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.UpdateSiteDesign",
 {updateInfo:{
   Id:"614f9b28-3e85-4ec9-a961-5971ea086cca",
   Title:"Contoso customer site",
   Description:"Creates site with customer theme and list",
   SiteScriptIds:["6b2b79e4-5da3-4352-8565-42a896fabd57","2b997981-258b-4e1e-81ff-f6fbf7235a1f"],
   PreviewImageUrl:"https://contoso.sharepoint.com/SiteAssets/customer_site.png",
   PreviewImageAltText:"Customer site with list and theme",
   WebTemplate:"68",
   Version: 7,
   IsDefault: false}});

Вот пример JSON, возвращаемой после вызова команды UpdateSiteDesign.

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignMetadata",
  "Description": "Creates site with customer theme and list",
  "IsDefault": false,
  "PreviewImageAltText": "Customer site with list and theme",
  "PreviewImageUrl": "https://contoso.sharepoint.com/SiteAssets/customer_site.png",
  "SiteScriptIds": [ "6b2b79e4-5da3-4352-8565-42a896fabd57", "2b997981-258b-4e1e-81ff-f6fbf7235a1f" ],
  "Title": "Contoso customer site",
  "WebTemplate": "68",
  "Id": "614f9b28-3e85-4ec9-a961-5971ea086cca",
  "Version": 7
}

DeleteSiteDesign

Удаляет макет сайта.

Параметры

Параметр Описание
id Идентификатор макета сайта, который требуется удалить.

Примеры

В примере ниже показано, как удалить макет сайта.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.DeleteSiteDesign",
{id:"f9e76746-5076-4bd2-bad3-e611c488fa85"});

GetSiteDesignRights

Получает список субъектов, имеющих доступ к макету сайта.

Параметры

Параметр Описание
id Идентификатор макета сайта, откуда требуется получить сведения о правах.

Примеры

Ниже приведен пример получения сведений о правах на просмотр для определенного макета сайта.

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteDesignRights",
{id:"dc076f7b-6c15-4d76-8f85-948a17f5dd18"});

Вот пример JSON, возвращаемой после вызова команды GetSiteDesignRights.

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#SiteDesignPrincipals",
  "value": [
    {
      "@odata.type": "#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipal",
      "@odata.id": "https://contoso.sharepoint.com/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipalfca62a9f-e43e-49a0-9139-6ae4df212859",
      "@odata.editLink": "Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipalfca62a9f-e43e-49a0-9139-6ae4df212859",
      "DisplayName": "Nestor Wilke",
      "PrincipalName": "i:0#.f|membership|nestorw@contoso.onmicrosoft.com",
      "Rights": 1
    },
    {
      "@odata.type": "#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipal",
      "@odata.id": "https://contoso.sharepoint.com/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipalce4cd6f6-553b-4a55-9364-1d39125be0ef",
      "@odata.editLink": "Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipalce4cd6f6-553b-4a55-9364-1d39125be0ef",
      "DisplayName": "Patti Fernandez",
      "PrincipalName": "i:0#.f|membership|pattif@contoso.onmicrosoft.com",
      "Rights": 1
    }
  ]
}

GrantSiteDesignRights

Предоставляет доступ к макету сайта для одного или нескольких субъектов.

Параметры

Параметр Описание
id Идентификатор макета сайта, которому необходимо предоставить права.
principalNames Массив из одного или нескольких субъектов, которым необходимо предоставить права на просмотр. Субъектами могут быть пользователи или группы безопасности, поддерживающие почту, в формате "псевдоним" или "псевдоним@<доменное имя>.com"
grantedRights Всегда задавайте значение 1, Оно соответствует праву Просмотр.

Примеры

В примере ниже показано, как предоставить права на просмотр макету сайта для пользователей Nestor и Patti (вымышленные пользователи в корпорации Contoso).

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GrantSiteDesignRights", {
  "id": "dc076f7b-6c15-4d76-8f85-948a17f5dd18",
  "principalNames": [ "NestorW@contoso.onmicrosoft.com", "PattiF@contoso.onmicrosoft.com" ],
  "grantedRights": 1
});

RevokeSiteDesignRights

Отзывает доступ к макету сайта для одного или нескольких субъектов.

Параметры

Параметр Описание
id Идентификатор макета сайта, у которого требуется отозвать права.
principalNames Массив из одного или нескольких субъектов, для которых необходимо отозвать права. Если права на макет сайта отозваны для всех субъектов, макет сайта становится видимым для всех.

Примеры

В примере ниже показано, как отозвать права на просмотр у макета сайта для пользователя Patti (вымышленного пользователя в корпорации Contoso).

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.RevokeSiteDesignRights",
{id:"5d4756e9-e1f5-42f7-afa7-5fa5aac170aa",
 principalNames:["PattiF@contoso.onmicrosoft.com"] });

См. также