Esquema JSON de plantilla de sitio
La plantilla de sitio es una lista de acciones. Para ver acciones más complejas, como crear una lista, también hay disponibles subacciones. Cada acción se especifica con un valor "verb". Las acciones de verbo se ejecutan en el orden en que aparecen en el script JSON. Solo se pueden usar las acciones de verbo que se muestran aquí; en caso contrario, se producirá un error de "no se puede controlar la acción" al intentar cargar un script de sitio. Con el tiempo, se agregarán más acciones.
La estructura JSON general se especifica de esta forma:
{
"$schema": "schema.json",
"actions": [
...
<one or more verb actions>
...
]
}
Sugerencia
Puede ver y hacer referencia al último esquema aquí: https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json
Nota:
Las acciones se pueden ejecutar más de una vez en un sitio. Al volver a ejecutar acciones en el mismo sitio con los mismos parámetros, se actualiza el esquema existente y no se duplica.
addContentTypesFromHub
Use el verbo addContentTypesFromHub para sincronizar los tipos de contenido de un concentrador de tipos de contenido con el sitio.
Nota:
Una vez que addContentTypesFromHub se aplica en un sitio, la subacción addContentType de una lista podrá agregarla a la lista por nombre.
Valor JSON
-
ids
: una matriz de los identificadores de tipo de contenido que deben sincronizarse.
Ejemplo
{
"verb": "addContentTypesFromHub",
"ids": ["0x01007CE30DD1206047728BAFD1C39A850120"]
}
Crear una nueva lista de SharePoint
Use el verbo createSPList para crear una lista de SharePoint.
Nota:
Una vez que se aplica createSPList a un sitio, la ejecución de createSPList con el mismo nombre de lista actúa como una actualización de la lista existente.
Valores JSON
listName
: Nombre de la lista.templateType
: qué plantilla aplicar a la lista. Normalmente, se usa un valor de 100. La lista completa de los valores del tipo de plantilla está documentada enenumeración de SPListTemplateType, pero los que son compatibles actualmente incluyen:Nombre de plantilla de lista Enum Lista genérica 100 Biblioteca de documentos 101 Encuesta 102 Vínculos 103 Anuncios 104 Contactos 105 Eventos 106 Tareas 107 Panel de discusión 108 PictureLibrary 109 Páginas del sitio 119 Seguimiento de problemas 1100 Si utiliza 101 o 119 y hace referencia a los nombres predeterminados ("Documentos" o "Páginas del sitio"), puede modificar la biblioteca creada con la plantilla. Vea el ejemplo abajo.
subactions
: un conjunto de acciones que se ejecutan en el orden listado para crear su lista.
Ejemplo
{
"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"
}
]
}
La matriz de subacciones ofrece acciones adicionales para especificar cómo crear la lista. Las sub acciones también se especifican utilizando un verb
valor.
setDescription
Establece la descripción de la lista.
Valor JSON
-
description
: la descripción de la nueva lista.
Ejemplo
{
"verb": "setDescription",
"description": "List of Customers and Orders"
}
addSPField
Agrega un nuevo campo.
Valores JSON
-
fieldType
: el tipo de campo se puede establecer enText
,Note
,Number
,Boolean
,User
, oDateTime
Para otros tipos de datos, vea la acción addSPFieldXml. -
displayName
: el nombre del campo. -
id
: un atributo opcional. Si se proporciona, especifica el Id. del campo. Debe ser un GUID único, generado al azar. Se recomienda dar un valor a esto para asegurar que el campo no se agregue varias veces si se vuelve a ejecutar el guión. -
internalName
: un atributo opcional. Si se indica, especifica el nombre interno del campo. Si no, el nombre interno se basa en el nombre para mostrar. -
isRequired
: Verdaderosi este campo es necesario para contener información; de lo contrario, Falso. -
addToDefaultView
: Verdadero si el campo se agregará a la vista por defecto; de lo contrario,Falso. -
enforceUnique
: un atributo opcional que por defecto esFalso. Si esVerdadero, todos los valores de este campo deben ser únicos.
Ejemplo
{
"verb": "addSPField",
"fieldType": "Text",
"displayName": "Customer Name",
"isRequired": false,
"id": "c532fcb9-cdb3-45c6-8247-c784dcd58e1a",
"addToDefaultView": true
}
deleteSPField
Elimina un campo predeterminado especificado por el tipo de plantilla seleccionado.
Valor JSON
-
displayName
: el nombre a mostrar para identificar el campo a borrar.
Ejemplo
{
"verb": "deleteSPField",
"displayName": "Modified"
}
addSPFieldXml
Permite definir los campos y los elementos con Lenguaje de marcado de aplicaciones de colaboración (CAML). Como referencia, vea Elemento Field (Campo). Es importante proporcionar el atributo de Id. en el esquema de campoXml para evitar que el campo se cree varias veces si el guión se ejecuta más de una vez.
Actualmente estas construcciones de campo no pueden ser designadas como columnas del sitio ni agregadas a los tipos de contenido. Para crear columnas de sitio con Field XML, use la acción createSiteColumnXml.
Valor JSON
-
schemaXml
: el bloque CAML para definir el campo. -
addToDefaultView
: Verdadero si el campo se agregará a la vista por defecto; de lo contrario,Falso.
Ejemplo
{
"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
Permite definir los campos de búsqueda y su elemento de listas dependiente con el Lenguaje de marcado de aplicaciones de colaboración (CAML). Como referencia, vea Elemento Field (Campo). Es importante proporcionar el atributo de Id. en el esquema de campoXml para evitar que el campo se cree varias veces si el guión se ejecuta más de una vez.
Valor JSON
-
schemaXml
: el bloque CAML para definir el campo. -
targetListName
: el nombre que identifica la lista a la que hace referencia este campo de búsqueda. Proporcionar este o targetListUrl. -
targetListUrl
: una URL relacionado con la web que identifica la lista a la que este campo de búsqueda hace referencia. Proporcionar este o targetListName. -
addToDefaultView
: Verdadero si el campo se agregará a la vista por defecto; de lo contrario,Falso.
Ejemplo
{
"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
Subacción que agrega una columna de sitio previamente definida directamente a una lista (existente o creada mediante el script de sitio).
Valor JSON
-
internalName
: el nombre interno de la columna del sitio para agregar. -
addToDefaultView
: atributo opcional que por defecto es False. Si es True, el campo que se acaba de agregar también se agregará a la vista predeterminada.
Ejemplo
{
"verb": "addSiteColumn",
"internalName": "siteColumnUser",
"addToDefaultView": true
}
addSPView
Define y agrega una vista a la lista. Use esta acción para especificar las columnas que quiera y cómo quiere que se muestren los elementos de lista (con una consulta CAML). Las propiedades de la acción le permiten especificar los límites de fila y si la vista se pagina y se ejecuta de forma recursiva sobre elementos de carpetas anidadas. También puede designar la vista creada como predeterminada.
Valor JSON
-
name
: el nombre de la vista. -
viewFields
: un conjunto de los nombres internos de los campos en su vista. -
query
: una cadena de consulta CAML que contiene lawhere
cláusula para la consulta de la vista. Ver Esquemas CAML. -
rowLimit
: el límite de filas de la vista. -
isPaged
: especifica si la vista está paginada. -
makeDefault
: si esVerdadero, la vista será la predeterminada para la lista; de lo contrario, Falso -
scope
: un ajuste opcional para especificar el alcance de la vista. Para más información, consulteenumeración SPViewScope. -
formatterJSON
: un ajuste opcional para especificar el formato JSON para la vista.
Ejemplo
{
"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
Quita una vista de una lista. Esta acción también puede usarse para quitar una vista que la plantilla de sitio ha aplicado.
Valor JSON
-
name
: nombre de la vista que a eliminar.
Ejemplo
{
"verb": "removeSPView",
"name": "All Items"
}
addContentType
Agrega un tipo de contenido a la lista. En este momento, los tipos se limitan a los tipos de contenido predeterminado incluidos en la plantilla de sitio o definidos en un script con la acción createContentType.
Nota:
En este momento no se pueden agregar tipos de contenido empresarial.
Valor JSON
-
name
: nombre del tipo de contenido para agregar.
Ejemplo
{
"verb": "addContentType",
"name": "name"
}
removeContentType
Quita un tipo de contenido que se especificó con el tipo de plantilla seleccionado.
Valor JSON
-
name
: nombre del tipo de contenido a eliminar.
Ejemplo
{
"verb": "removeContentType",
"name": "name"
}
setSPFieldCustomFormatter
Establece el formato de columna de un campo. Para más información, vea Usar el formato de columna para personalizar SharePoint.
Valores JSON
-
fieldDisplayName
: nombre para mostrar del campo en el que se opera. -
formatterJSON
: Un objeto JSON para usar como el campo CustomFormatter.
Ejemplo
En este ejemplo se da formato de barra de datos a una columna de números.
{
"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
Registra la extensión de campo para un campo de lista. Para obtener más información sobre estas extensiones del lado cliente, vea el tutorial Crear un personalizador de campo.
Valores JSON
-
internalName
: el nombre interno del campo a operar. -
clientSiteComponentId
: el identificador (GUID) de la extensión en el catálogo de aplicaciones. Este valor de propiedad puede encontrarse en el archivo manifest.json o en el archivo elements.xml. -
clientSiteComponentProperties
: un parámetro opcional, que puede ser usado para proporcionar propiedades para la instancia de extensión de la personalización de campo.
Ejemplo
{
"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
Asocia un ListViewCommandSet a la lista
Valores JSON
-
title
: el título de la extensión. -
location
: un parámetro necesario para especificar dónde se muestra el comando. Las opciones son: ClientSideExtension.ListViewCommandSet.ContextMenu o ClientSideExtension.ListViewCommandSet.CommandBar. -
clientSideComponentId
: el identificador (GUID) de la extensión en el catálogo de aplicaciones. Este valor de propiedad puede encontrarse en el archivo manifest.json o en el archivo elements.xml. -
clientSideComponentProperties
: un parámetro opcional, que puede ser usado para proporcionar propiedades para la instancia de extensión.
Ejemplo
{
"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
Cambia el nombre de la lista. Para crear una nueva lista con un nombre específico, en lugar de usar setTitle use el listName
parámetro en laCreateSPList
acción.
Nota:
Si se usa setTitle
, se cambiará el nombre de la lista, lo que impedirá que la lista se actualice si se vuelve a aplicar la plantilla de sitio.
Valor JSON
-
title
: el título de la nueva lista.
Ejemplo
{
"verb": "setTitle",
"title": "Customers and Orders"
}
Definir una nueva columna de sitio
Use el verbo createSiteColumn
para definir una nueva columna de sitio que luego se puede asociar a una lista directamente o mediante la acción addContentType.
Valor JSON
-
fieldType
: el tipo de columna para agregar. Los valores admitidos (como SPField) son Text, Note, Number, Boolean, User y DateTime. Para otros tipos de datos, vea la acción del script addSPFieldXml. -
internalName
: el nombre interno de la columna del sitio. -
displayName
: el nombre de la columna del sitio. -
isRequired
: Verdaderosi este campo es necesario para contener información; de lo contrario, Falso. -
id
: un atributo opcional. Si se proporciona, especifica el Id. del campo. Debe ser un GUID único, generado al azar. Se recomienda dar un valor a esto para asegurar que el campo no se agregue varias veces si se vuelve a ejecutar el guión. -
group
: un atributo opcional para designar el grupo de columnas. -
enforceUnique
: un atributo opcional que por defecto esFalso. Si esVerdadero, todos los valores de este campo deben ser únicos.
Ejemplo
{
"verb": "createSiteColumn",
"fieldType": "User",
"internalName": "siteColumn4User",
"displayName": "Project Owner",
"isRequired": false,
"id": "181c4370-cdae-471b-9499-730046e55b75"
}
Use el verbo createSiteColumnXml
para definir unapara definir una nueva columna de sitio para aquellos tipos de datos complejos no compatibles con createSiteColumn. Estas columnas pueden asociarse a una lista directamente o mediante la acción addContentType. Es importante proporcionar el atributo de Id. en el esquema de campoXml para evitar que el campo se cree varias veces si el guión se ejecuta más de una vez.
Valor JSON
-
schemaXml
: el bloque CAML para definir el campo. -
pushChanges
: indica si este cambio debe ser insertado a las listas que ya hacen referencia a este campo. Valores predeterminados en Verdadero.
Ejemplo
{
"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>"
}
Definir un nuevo tipo de contenido
Use createContentType para definir un nuevo tipo de contenido que luego puede asociarse a una lista con la acción addContentType.
Valor JSON
Nota:
Al hacer referencia al identificador de tipo de contenido, solo se requiere una de las tres referencias: ID, parentName o parentId.
-
name
: el nombre del tipo de contenido a crear. -
description
: la descripción opcional del tipo de contenido. -
parentName
: nombre del tipo de contenido parental. -
parentId
: Id. del tipo de contenido parental. -
id
: Id. del tipo de contenido. -
hidden
: especifica si el tipo de contenido es visible u oculto. -
group
: grupo del tipo de contenido. -
subactions
: especifica las sub acciones que se ejecutarán en el tipo de contenido. Se utilizan para designar las columnas de sitio que se agregan.
Ejemplo
{
"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
Subacción que agrega una columna de sitio previamente definida directamente a un tipo de contenido (existente o creado mediante el script de sitio).
Valor JSON
-
internalName
: el nombre interno de la columna del sitio para agregar.
Ejemplo
{
"verb": "addSiteColumn",
"internalName": "siteColumnUser"
}
removeSiteColumn
Subacción que quita una columna de sitio de un tipo de contenido o de lista.
Valor JSON
-
internalName
: el nombre interno de la columna del sitio a eliminar.
Ejemplo
{
"verb": "removeSiteColumn",
"internalName": "siteColumnUser"
}
Agregar un vínculo de navegación
Use el verbo addNavLink
para agregar un nuevo vínculo de navegación al sitio QuickLaunch o a la navegación de Hub.
Valores JSON
-
url
: la URL del vínculo que se va a agregar. -
displayName
: el nombre para mostrar del enlace. -
navComponent
: el componente en donde se agrega el enlace, QuickLaunch, Hub, o Footer. El valor predeterminado es Inicio rápido. -
isWebRelative
: Verdaderosi el enlace es relativo a la web; de lo contrario, False. El valor predeterminado es Falso. -
parentDisplayName
: un parámetro opcional. Si se proporciona, convierte este vínculo de navegación en un elemento secundario (vínculo secundario) del vínculo de navegación con este displayName. Si se proporciona este y parentUrl, se busca un vínculo que coincida con ambos para que sea el principal. -
parentUrl
: un parámetro opcional. Si se proporciona, convierte este vínculo de navegación en un elemento secundario (vínculo secundario) del vínculo de navegación con esta URL. Si se proporciona este y parentDisplayName, se busca un vínculo que coincida con ambos para que sea el principal. -
isParentUrlWebRelative
: un parámetro opcional. Verdadero si el enlace es relativo a la web; de lo contrarioFalso. El valor predeterminado es False.
Ejemplo
Nota:
Si agrega un vínculo a un elemento de sitio anidado, como una lista, asegúrese de agregar la referencia a la ruta de acceso desde la raíz.
{
"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
}
Eliminar un vínculo de navegación
Use el verbo removeNavLink
para eliminar un enlace de navegación del sitio.
Valores JSON
-
url
: la URL del enlace a eliminar. -
displayName
: el nombre para mostrar del enlace. -
navComponent
: el componente del que se elimina el enlace, QuickLaunch, Hub o Footer. El valor predeterminado es Inicio rápido. -
isWebRelative
: Verdaderosi el enlace es relativo a la web; de lo contrario, False.
Ejemplo
Nota:
Esta acción puede usarse para eliminar los vínculos a sitios que agregaron las plantillas de sitio de colaboración y comunicación (por ejemplo, "inicio", "documentos", "páginas", "conversaciones", etc.).
{
"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
}
Manejo de caracteres especiales
Los sitios creados en otros idiomas distintos al inglés pueden contener caracteres especiales. Usar codificación UTF-8 para leer el contenido JSON que contiene caracteres especiales.
Get-Content '<Folder_location_to_site_script>\site-script.json' -Raw -Encoding UTF8
Aplicar un tema
Use el verbo applyTheme
para agregar un tema personalizado al sitio. Para más información sobre cómo crear y cargar estos temas, consulteTemática del sitio de SharePoint. Esta acción del sitio sólo funciona para aplicar temas personalizados; para aplicar uno de nuestros temas de SharePoint en producto, cree una copia como uno personalizado y haga referencia a el mismo.
Nota:
Esta acción se bloquea automáticamente para los sitios de canal.
Valor JSON
-
themeName
: el nombre del tema a aplicar.
Ejemplo
{
"verb": "applyTheme",
"themeName": "Blue Yonder"
}
Establecer propiedades de personalización de marca
Use el verbo setSiteBranding
para especificar la diseño de la navegación, la diseño del encabezado y el fondo del encabezado.
Nota:
Establecer el diseño de navegación solo funciona en la plantilla de sitio de comunicación y para la navegación de central. Esta acción se bloquea automáticamente para los sitios de canal.
Valor JSON
-
navigationLayout
: especifica el diseño de navegación como Cascada o Megamenú -
headerLayout
: especifica el diseño del encabezado como Estándar o Compacto -
headerBackground
: especifica el fondo de la cabecera como Ninguno, Neutral, Suave o Fuerte -
showFooter
: especifica si el pie de página del sitio se debe mostrar o no
Ejemplo
{
"verb": "setSiteBranding",
"navigationLayout": "Megamenu",
"headerLayout": "Compact",
"headerBackground": "Strong",
"showFooter": true
}
Establecer un logotipo de sitio
Use el verbo setSiteLogo
para especificar un logo para su sitio.
Nota:
Esta acción solo funciona en la plantilla de sitio de comunicación (68).
Valor JSON
-
url
: la URL de la imagen del logo a utilizar.
Ejemplo
{
"verb": "setSiteLogo",
"url": "/Customer Event Collateral/logo.jpg"
}
Unirse a un sitio central
Nota:
Esta acción se bloquea automáticamente para los sitios de canal.
Use el verbo joinHubSite
para unir el sitio a un sitio central designado.
Valor JSON
-
hubSiteId
: la identificación del sitio del centro para ingresar. -
name
: una cadena opcional que especifica el nombre del sitio del centro.
Ejemplo
Nota:
Para obtener el hubSiteId
, inicie sesión en un sitio mediante el cmdlet Connect-PnPOnline y, a continuación, ejecute:
$hubSiteName = "My Hub Site"
Get-PnPHubSite | Where-Object { $_.Title -eq $hubSiteName }
Esto devuelve información sobre el sitio de Hub llamado $hubSiteName. El hubSiteId es devuelto como el SiteId.
{
"verb": "joinHubSite",
"hubSiteId": "e337cc17-b355-45d2-8dd4-e056f1bcf6f6"
}
Instalar un complemento o una solución
Use la acción installSolution
para instalar un complemento desplegado o una solución SharePoint Framework del Catálogo de aplicaciones del inquilo.
Ejemplo
Nota:
Para obtener el identificador de la solución, inicie sesión en un sitio con el cmdlet Connect-PnPOnline y luego ejecute Get-PnPApp. Devuelve una lista de las soluciones implementadas. En el caso de espacios empresariales multigeográficos, use el id. de producto después de configurar la solución en cada ubicación geográfica. Para obtener el id. de producto, cargue la solución al catálogo de aplicaciones o en la definición de la solución.
{
"verb": "installSolution",
"id": "d40e4edc-a6da-4cd8-b82d-bba970976803"
}
Registrar una extensión
Use la acción associateExtension
para registrar una extensión implementada del SharePoint Framework desde el Catálogo de aplicaciones del arrendatario.
Nota:
Para más detalles sobre cómo crear y configurar una extensión de SharePoint Framework, vea Información general de SharePoint Framework Extensions.
Valores JSON
-
title
: el título de la extensión en el Catálogo de aplicaciones. -
location
: se utiliza para especificar el tipo de extensión. Si se usa para crear comandos, donde se mostraría el comando; De lo contrario, debe establecerse en ClientSideExtension.ApplicationCustomizer. -
clientSideComponentId
: el identificador (GUID) de la extensión en el catálogo de aplicaciones. Este valor de propiedad puede encontrarse en el archivo manifest.json o en el archivo elements.xml. -
clientSideComponentProperties
: un parámetro opcional, que puede ser usado para proporcionar propiedades para la instancia de extensión. -
registrationId
: un parámetro opcional que indica el tipo de la lista a la que se asocia la extensión (si es una extensión de la lista). -
registrationType
: un parámetro opcional, que debe ser especificado si la extensión está asociada a una lista. -
scope
: indica si la extensión está asociada a unWeb
o a unSite
.
Ejemplo
{
"verb": "associateExtension",
"title": "SPFXApplicationCustomizer Example",
"location": "ClientSideExtension.ApplicationCustomizer",
"clientSideComponentId": "40d64749-a6e5-4691-b440-1e32fb6sean5",
"scope": "Web"
}
Activar un característica
Use la acción activateSPFeature
para activar una característica de SharePoint.
Valores JSON
-
featureId
: la Id. de la característica para activar (GUID). -
scope
: indica si la característica está asociada a unweb
o a unsite
.
Ejemplo
Para habilitar la característica de ámbito de web que permite crear listas de eventos (Id. de la característica 00bfea71-ec85-4903-972d-ebe475780106):
{
"verb": "activateSPFeature",
"featureId": "00bfea71-ec85-4903-972d-ebe475780106",
"scope": "web"
}
Desencadenar un flujo
Use el verbo triggerFlow
para iniciar un flujo personalizado.
Sugerencia
El artículo Llamar a Power Automate desde un script del sitio proporciona un ejemplo completo.
Valores JSON
-
url
: un URL desencadenante del flujo. -
name
: el nombre del flujo. -
parameters
: un conjunto opcional de parámetros para pasar al flujo.
Ejemplo
{
"verb": "triggerFlow",
"url": "<A trigger URL of the Flow.>",
"name": "Record and tweet site creation event",
"parameters": {
"event": "Microsoft Event",
"product": "SharePoint"
}
}
Cambiar la configuración regional
Nota:
Esta acción se bloquea automáticamente para los sitios de canal.
Utilice la acciónsetRegionalSettings
para configurar los ajustes regionales del sitio (/_layouts/15/regionalsetng.aspx).
Valores JSON
-
timeZone
: un número que especifica la zona horaria. Para una lista de valores permitidos, consulteSPRegsionalSettings.TimeZones -
locale
: un número que especifica la cultura LCID. Para una lista de valores permitidos, consulte Microsoft Locale ID Values -
sortOrder
: un número que especifica el orden de clasificación. Para una lista de valores permitidos, consulte SPRegionalSettings.Collation -
hourFormat
: especifica si el sitio debe usar el formato de tiempo de 12 o 24 horas.
Ejemplo
{
"verb": "setRegionalSettings",
"timeZone": 2, /* Greenwich Mean Time */
"locale": 1050, /* Croatia */
"sortOrder": 6, /* Croatian */
"hourFormat": "24"
}
Agregar usuarios (entidades de seguridad) a los grupos de SharePoint
Nota:
Esta acción se bloquea automáticamente para los sitios de canal.
Utilice la acciónaddPrincipalToSPGroup
para administrar la adición de usuarios y grupos para seleccionar los grupos de SharePoint predeterminados. Para obtener más información, vea Información sobre los grupos de SharePoint. Esta acción puede usarse para los usuarios con licencia, los grupos de seguridad y los grupos de Microsoft 365.
Valores JSON
-
principal
: un parámetro necesario para especificar el nombre de la entidad principal (usuario o grupo) que se agregará al grupo de SharePoint. -
group
: un parámetro necesario para especificar el grupo de SharePoint al que agregar el principal.
Ejemplo
Nota:
Actualmente, esta acción solo admite los grupos Visitantes (nivel de permiso: lectura), Miembros (nivel de permiso: contribución o edición, según cuál sea la plantilla de sitio) y Propietarios (nivel de permiso: control total). Las entidades de seguridad deben agregarse de forma individual.
{
"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"
}
Administración del acceso de invitado
Nota:
Esta acción se bloquea automáticamente para los sitios de canal.
Use la acción setSiteExternalSharingCapability
para administrar el acceso de invitados. Para más información, vea Administrar el uso compartido externo en su entorno de SharePoint Online
Valores JSON
-
capability
: un parámetro necesario para especificar la opción de compartir la colección de sitios. Las cuatro opciones son:Disabled
,ExistingExternalUserSharingOnly
,ExternalUserSharingOnly
, yExternalUserAndGuestSharing
Ejemplo
{
"verb": "setSiteExternalSharingCapability",
"capability": "Disabled"
}