API de REST de diseño de sitio y script de sitio

Puede usar la interfaz de REST de SharePoint para realizar operaciones básicas de creación, lectura, actualización y eliminación (CRUD) en diseños de sitio y scripts de sitio.

El servicio REST de SharePoint Online (y SharePoint 2016 o versiones posteriores locales) admite la combinación de varias solicitudes en una sola llamada al servicio mediante el uso de la opción de consulta $batch de OData. Para obtener información detallada y vínculos a los ejemplos de código, vea Realizar solicitudes de lote con las API de REST.

Requisitos previos

Antes de empezar, asegúrese de que está familiarizado con lo siguiente:

Comandos de REST

Los siguientes comandos de REST están disponibles para trabajar con diseños de sitio y scripts de sitio:

  • CreateSiteScript : crea un script de sitio.
  • GetSiteScripts : obtiene una lista de información sobre los scripts de sitio existentes.
  • GetSiteScriptFromWeb : crea la sintaxis de script de sitio a partir de un sitio de SharePoint existente.
  • GetSiteScriptFromList : crea la sintaxis de script de sitio a partir de una lista de SharePoint existente.
  • GetSiteScriptMetadata : obtiene información sobre un script de sitio específico.
  • UpdateSiteScript: Novedades un script de sitio con nuevos valores.
  • DeleteSiteScript : elimina un script de sitio.
  • CreateSiteDesign : crea un diseño de sitio.
  • ApplySiteDesign : aplica un diseño de sitio a una colección de sitios existente.
  • AddSiteDesignTaskToCurrentWeb : agrega una tarea de diseño de sitio en la web actual.
  • GetSiteDesigns : obtiene una lista de información sobre los diseños de sitio existentes.
  • GetSiteDesignMetadata : obtiene información sobre un diseño de sitio específico.
  • UpdateSiteDesign: Novedades un diseño de sitio con nuevos valores.
  • DeleteSiteDesign : elimina un diseño de sitio.
  • GetSiteDesignRights : obtiene una lista de entidades de seguridad que tienen acceso a un diseño de sitio.
  • GrantSiteDesignRights : concede acceso a un diseño de sitio para una o varias entidades de seguridad.
  • RevokeSiteDesignRights : revoca el acceso desde un diseño de sitio para una o varias entidades de seguridad.

Crear una función para enviar solicitudes de REST

Para trabajar con la API de REST, se recomienda crear una función auxiliar que realice las llamadas a REST. La siguiente función RestRequest realiza una llamada al método REST especificado en el parámetro url y pasa los parámetros adicionales en 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

Crea un nuevo script de sitio.

Parámetros

Parámetro Descripción
Title Nombre para mostrar del diseño de sitio.
Content Valor JSON que describe el script. Para más información, vea Referencia de JSON.

Ejemplos

En el ejemplo siguiente se crea un script de sitio que aplica un tema personalizado.

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);

A continuación, se incluye un ejemplo del JSON devuelto después de llamar a CreateSiteScript. Contiene el id. del nuevo script de sitio.

{
  "@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

Obtiene una lista de datos sobre todos los scripts de sitio existentes.

Parámetros

Ninguno.

Ejemplos

En el ejemplo siguiente se obtiene la información de script de sitio de todos los scripts de sitio.

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

Este es un ejemplo del JSON devuelto después de llamar a 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

Obtiene la sintaxis del script de sitio para una lista específica de un sitio de SharePoint.

Parámetros

Parámetro Description
webUrl La dirección URL que comienza con HTTPS del sitio del que se desea recuperar el script de sitio.
IncludeBranding (Opcional) Es true si se extrae la personalización de marca; en caso contrario, es false.
IncludedLists (Opcional) Una matriz de una o más listas. Cada una se identifica con la dirección URL de la lista.
IncludeRegionalSettings (Opcional) Es true si se extrae la configuración regional; en caso contrario, es false.
IncludeSiteExternalSharingCapability (Opcional) Es true si se extrae la función de uso compartido; en caso contrario, es false.
IncludeTheme (Opcional) Es true si se extrae el tema personalizado; en caso contrario, es false.
IncludeLinksToExportedItems (Opcional) Es true si se extraen los vínculos de navegación; en caso contrario, es false. Para exportar vínculos de navegación que apunten a listas, la lista también se debe incluir en la solicitud.

Nota:

Se debe proporcionar al menos un parámetro include al usar esta API. De lo contrario, se producirá un error de solicitud.

Ejemplos

Este es un ejemplo de recuperación de un objeto JSON de script de sitio de la colección de sitios de 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
   }
});

Este es un ejemplo del JSON devuelto después de llamar a GetSiteScriptFromWeb.

Nota:

El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

{
    "$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

Obtiene la sintaxis del script de sitio para una lista específica.

Parámetros

Parámetro Descripción
listUrl Dirección URL de la lista para recuperar el script de sitio

Ejemplos

Este es un ejemplo de recuperación de un objeto JSON de script de sitio de la lista de clientes de Contoso.

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

Este es un ejemplo del JSON devuelto después de llamar a 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

Obtiene información sobre un script de sitio específico. También devuelve el JSON del script.

Parámetros

Parámetro Descripción
id Identificador del script de sitio del que se obtiene información.
RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteScriptMetadata",
{id:"07702c07-0485-426f-b710-4704241caad9"});

Ejemplos

Este es un ejemplo del JSON devuelto después de llamar a 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

Actualiza un script de sitio con nuevos valores. En la llamada REST, todos los parámetros son opcionales, excepto el identificador del script de sitio.

Parámetros

Parámetro Descripción
Id El id. del script de sitio que se actualizará.
Title (Opcional) Nuevo nombre para mostrar del script de sitio.
Description (Opcional) La nueva descripción del script de sitio.
Version (Opcional) El nuevo número de versión del script de sitio.
Content (Opcional) Nuevo script JSON que define las acciones de script. Para más información, vea Esquema JSON de diseño de sitio.

Ejemplos

Este es un ejemplo de cómo actualizar un script de sitio existente con un nuevo script JSON y nuevos valores.

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)}});

A continuación, se incluye un ejemplo del JSON devuelto después de llamar a 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

Elimina un script de sitio.

Parámetros

Parámetro Descripción
id Identificador del script de sitio que se elimina.

Ejemplos

Este es un ejemplo de cómo eliminar un script de sitio.

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

CreateSiteDesign

Crea un diseño de sitio disponible para los usuarios al crear un sitio desde la página de inicio de SharePoint.

Parámetros

Parámetro Descripción
id El id. del diseño de sitio que se aplicará.
Title Nombre para mostrar del diseño de sitio.
WebTemplate Identifica la plantilla base que se agregará al diseño. Use el valor 64 para la plantilla de sitio de grupo, y el valor 68 para la plantilla de sitio de comunicación.
SiteScriptIds Una matriz de uno o más scripts de sitio. Cada uno se identifica por un id. Los scripts se ejecutarán en el orden en que aparezcan en la lista.
Description (Opcional) La descripción para mostrar del diseño de sitio.
PreviewImageUrl (Opcional) Dirección URL de una imagen de vista previa. Si no se especifica ninguna, SharePoint usará una imagen genérica.
PreviewImageAltText (Opcional) La descripción del texto alternativo de la imagen de vista previa para fines de accesibilidad.
IsDefault (Opcional) Es True si el diseño de sitio se aplica como diseño del sitio predeterminado; en caso contrario, es false. Para más información, vea Personalizar un diseño de sitio predeterminado.

Ejemplos

Este es un ejemplo de cómo crear un diseño de sitio.

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"
    }
  });

A continuación, se incluye un ejemplo del JSON devuelto después de llamar a CreateSiteDesign. Contiene el id. del nuevo diseño de sitio.

{
  "@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

Aplica un diseño de sitio a una colección de sitios existente.

Parámetros

Parámetro Descripción
siteDesignId El id. del diseño de sitio que se aplicará.
webUrl Dirección URL de la colección de sitios donde quiere que se aplique el diseño de sitio.

Ejemplos

Este es un ejemplo de cómo aplicar un diseño de sitio a la colección de sitios ProjectGo.

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

AddSiteDesignTaskToCurrentWeb

Agrega una tarea de diseño de sitio en la web actual para invocarla de forma asincrónica.

Parámetros

Parámetro Descripción
siteDesignId El id. del diseño de sitio que se aplicará.

Ejemplos

Este es un ejemplo de cómo añadir una tarea de diseño de sitio a la colección de sitios ProjectGo.

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

GetSiteDesigns

Obtiene una lista de datos sobre diseños de sitio existentes.

Parámetros

Ninguno.

Ejemplos

Este es un ejemplo de cómo obtener todos los diseños de sitio.

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

A continuación, se incluye un ejemplo del JSON devuelto después de llamar a 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

Obtiene información sobre un diseño de sitio específico.

Parámetros

Parámetro Descripción
id Identificador del diseño de sitio del que se obtiene información.

Ejemplos

Este es un ejemplo de cómo obtener información sobre el diseño de un sitio específico por identificador.

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

A continuación, se incluye un ejemplo del JSON devuelto después de llamar a 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

Actualiza un diseño de sitio con nuevos valores. En la llamada REST, todos los parámetros son opcionales, excepto el identificador del script de sitio.

Nota:

Si estableció el parámetro IsDefault en TRUE y no quiere cambiarlo, tendrá que volver a pasar el parámetro; en caso contrario, se restablecerá en FALSE.

Parámetros

Parámetro Descripción
Id El id. del diseño de sitio que se actualizará.
Title (Opcional) El nuevo nombre para mostrar del diseño de sitio actualizado.
WebTemplate (Opcional) La nueva plantilla que se agregará al diseño de sitio. Use el valor 64 para la plantilla de sitio de grupo y el valor 68 para la plantilla de sitio de comunicación.
SiteScripts (Opcional) Una nueva matriz de uno o más scripts de sitio. Cada uno se identifica con un id. Los scripts se ejecutan en el orden en que aparecen en la lista.
Description (Opcional) La nueva descripción para mostrar del diseño de sitio actualizado.
PreviewImageUrl (Opcional) La nueva dirección URL de una imagen de vista previa.
PreviewImageAltText (Opcional) La nueva descripción del texto alternativo de la imagen de vista previa para fines de accesibilidad.
IsDefault (Opcional) Es True si el diseño de sitio se aplica como diseño del sitio predeterminado; en caso contrario, es false. Para más información, vea Personalizar un diseño de sitio predeterminado.

Ejemplos

Este es un ejemplo en el que se actualizan todos los valores de un diseño de sitio existente.

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}});

A continuación, se incluye un ejemplo del JSON devuelto después de llamar a 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

Elimina un diseño de sitio.

Parámetros

Parámetro Descripción
id Identificador del diseño de sitio que se elimina.

Ejemplos

Este es un ejemplo de cómo eliminar un diseño de sitio.

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

GetSiteDesignRights

Obtiene una lista de entidades de seguridad que tienen acceso a un diseño de sitio.

Parámetros

Parámetro Descripción
id Identificador del diseño de sitio del que se obtiene información de derechos.

Ejemplos

Este es un ejemplo de cómo obtener derechos de visualización en un diseño de sitio específico.

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

A continuación, se incluye un ejemplo del JSON devuelto después de llamar a 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

Concede acceso a un diseño de sitio para una o más entidades de seguridad.

Parámetros

Parámetro Descripción
id El id. del diseño de sitio del que se concederán derechos.
principalNames Una matriz de una o más entidades de seguridad a las que se conceden los derechos de visualización. Las entidades de seguridad pueden ser usuarios o grupos de seguridad habilitados para correo electrónico. Se especifican con el formato "alias" o "alias@<nombre de dominio>.com".
grantedRights Siempre se establece en 1. Representa el derecho de Visualización.

Ejemplos

Este es un ejemplo en el que se conceden derechos de visualización a Íker y Elvira (usuarios ficticios de Contoso) en un diseño de sitio.

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

Revoca el acceso de un diseño de sitio para una o más entidades de seguridad.

Parámetros

Parámetro Descripción
id El id. del diseño de sitio del que se revocarán los derechos.
principalNames Una matriz de una o más entidades de seguridad a las que se revocarán los derechos de visualización. Si se revocan los derechos de todas las entidades de seguridad en el diseño de sitio, este se vuelve visible para todos los usuarios.

Ejemplos

Este es un ejemplo en el que se revocan los derechos de visualización de Elvira (usuario ficticio de Contoso) en un diseño de sitio.

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

Vea también