REST API для работы с макетами и скриптами сайтов
При помощи интерфейса REST для SharePoint можно выполнять операции CRUD (создание, чтение, обновление и удаление) с макетами и скриптами сайтов.
Служба REST в SharePoint Online (а также локальной среде SharePoint 2016 или более поздней версии) поддерживает объединение нескольких запросов в один вызов службы с помощью параметра запроса OData $batch. Подробные сведения и ссылки на примеры кода см. в статье Отправка пакетных запросов с помощью интерфейсов REST API.
Предварительные требования
Прежде чем приступить к работе, убедитесь, что вы знакомы с понятиями, описанными в следующих статьях:
- Знакомство со службой REST в SharePoint
- Выполнение базовых операций с использованием конечных точек REST SharePoint
Команды 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"] });