Esquema JSON de modelo de site

O modelo do site é uma lista de ações. Para ações mais complexas, como criar uma lista, há também subações. Cada ação é especificada por um valor de "verbo". As ações verbais são executadas na ordem em que aparecem no script JSON. Somente as ações verbais listadas aqui podem ser usadas; caso contrário, surgirá um erro "não é possível lidar com a ação" ao tentar carregar um script de site. Mais ações serão adicionadas com o tempo.

A estrutura geral do JSON é especificada da seguinte maneira:

{
  "$schema": "schema.json",
  "actions": [
    ...
    <one or more verb actions>
    ...
  ],
  "bindata": { },
  "version": 1
}

Dica

Você pode exibir e consultar o último esquema aqui: https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json

Observação

As ações pode ser executadas mais de uma vez em um site. A reexecução das ações no mesmo site com os mesmos parâmetros resultará em uma atualização do esquema existente e não na duplicação do esquema.

addContentTypesFromHub

Use o verbo addContentTypesFromHub para sincronizar tipos de conteúdo de um hub de tipo de conteúdo para o site.

Observação

Depois que addContentTypesFromHub for aplicado em um site, a subação addContentType em uma lista poderá adicioná-lo à lista pelo nome.

Valor JSON

  • ids: Uma matriz de IDs de tipo de conteúdo que precisam ser sincronizados.

Exemplo

{
  "verb": "addContentTypesFromHub",
  "ids": ["0x01007CE30DD1206047728BAFD1C39A850120"]
}

Criar uma nova lista do SharePoint

Use o verbo createSPList para criar uma nova lista do SharePoint.

Observação

Depois que o createSPList for aplicado em um site, executar o createSPList com o mesmo nome de lista funcionará como uma atualização da lista existente.

Valores JSON

  • listName: o nome da lista.

  • templateType: qual modelo aplicar à lista. Normalmente, você usaria o valor 100. A lista completa de valores de tipo é documentada em Enumeração SPListTemplateType, mas aqueles aos quais damos suporte no momento incluem:

    Nome do modelo da lista Enum
    Lista genérica 100
    Biblioteca de documentos 101
    Pesquisa 102
    Links 103
    Comunicados 104
    Contatos 105
    Eventos 106
    Tarefas 107
    Quadro de Discussão 108
    PictureLibrary 109
    Páginas do Site 119
    Rastreamento de problemas 1100

    Se você usar 101 ou 119 e referenciar os nomes padrão (“Documentos” ou “Páginas do site”), você poderá modificar a biblioteca criada com o modelo. Veja o exemplo a seguir.

  • subactions: uma matriz de ações executadas na ordem indicada para criar sua lista.

Exemplo

{
  "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"
    }
  ]
}

A matriz de subações fornece ações adicionais para especificar como criar a lista. Subações também são especificadas usando um valor de verb.

setDescription

Define a descrição da lista.

Valor JSON

  • description: a descrição da nova lista.

Exemplo

{
  "verb": "setDescription",
  "description": "List of Customers and Orders"
}

addSPField

Adiciona um novo campo.

Valores JSON

  • fieldType: o tipo de campo pode ser definido como Text, Note, Number, Boolean, User ou DateTime. Para outros tipos de dados, confira a ação addSPFieldXml.
  • displayName: o nome de exibição do campo.
  • id: um atributo opcional. Se fornecido, especifica o nome interno do campo. Ele precisa ser um GUID exclusivo gerado aleatoriamente. É altamente recomendável fornecer um valor para isso, para garantir que o campo não seja adicionado várias vezes se o script for executado novamente.
  • internalName: um atributo opcional. Se fornecido, especifica o nome interno do campo. Se não fornecido, o nome interno se baseia no nome de exibição.
  • isRequired: True se esse campo precisar conter informações; caso contrário, False.
  • addToDefaultView: True se o campo for adicionado ao modo de exibição padrão; caso contrário False.
  • enforceUnique: um atributo opcional cujo padrão é False. Se True, todos os valores para esse campo devem ser exclusivos.

Exemplo

{
  "verb": "addSPField",
  "fieldType": "Text",
  "displayName": "Customer Name",
  "isRequired": false,
  "id": "c532fcb9-cdb3-45c6-8247-c784dcd58e1a",
  "addToDefaultView": true
}

deleteSPField

Exclui um campo de padrão fornecido pelo tipo de modelo selecionado.

Valor JSON

  • displayName: o nome de exibição para identificar o campo a ser excluído.

Exemplo

{
  "verb": "deleteSPField",
  "displayName": "Modified"
}

addSPFieldXml

Permite definir campos e seus elementos usando Collaborative Application Markup Language (CAML). Como referência, confira Elemento Field (Field). Fornecer o atributo ID no campo schemaXml é muito importante para impedir que o campo seja criado várias vezes se o script for executado mais de uma vez.

No momento, essas construções de campos não podem ser designadas como colunas de site, nem adicionadas aos tipos de conteúdo. Para criar colunas de site com Field XML, use a ação createSiteColumnXml.

Valor JSON

  • schemaXml: o bloco CAML que definirá o campo.
  • addToDefaultView: True se o campo for adicionado ao modo de exibição padrão; caso contrário False.

Exemplo

{
  "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 campos de pesquisa e o elemento de listas dependentes usando CAML (Collaborative Application Markup Language). Como referência, confira Elemento Field (Field). Fornecer o atributo ID no campo schemaXml é muito importante para impedir que o campo seja criado várias vezes se o script for executado mais de uma vez.

Valor JSON

  • schemaXml: o bloco CAML que definirá o campo.
  • targetListName: o nome que identifica a lista à qual esse campo de pesquisa faz referência. Forneça isso ou targetListUrl.
  • targetListUrl: uma URL relativa da Web que identifica a lista à qual esse campo de pesquisa faz referência. Forneça isso ou targetListName.
  • addToDefaultView: True se o campo for adicionado ao modo de exibição padrão; caso contrário False.

Exemplo

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

Subação para adicionar uma coluna de site predefinida diretamente a uma lista (existente ou criada pelo script do site).

Valor JSON

  • internalName: o nome interno da coluna de site a ser adicionada.
  • addToDefaultView: atributo opcional que é padrão para False. Se True, o campo recém-adicionado também será adicionado à exibição padrão.

Exemplo

 {
  "verb": "addSiteColumn",
  "internalName": "siteColumnUser",
  "addToDefaultView": true
 }

addSPView

Define e adiciona um modo de exibição à lista. Use essa ação para especificar as colunas desejadas e como deseja que os itens da lista sejam exibidos (usando uma consulta CAML). Propriedades da ação permitem especificar limites de linha e se o modo de exibição será paginado e pesquisa de forma recursiva sobre itens em pastas aninhadas. Você também pode designar seu modo de exibição criado como padrão.

Valor JSON

  • name: o nome do modo de exibição.
  • viewFields: uma matriz dos nomes internos dos campos no modo de exibição.
  • query: uma sequência de consulta CAML que contém a cláusula where da consulta do modo de exibição. Confira Esquemas CAML.
  • rowLimit: o limite de linhas do modo de exibição.
  • isPaged: especifica se o modo de exibição será paginado.
  • makeDefault: caso True, o modo de exibição se tornará padrão para a lista; caso contrário, False.
  • scope: uma configuração opcional para especificar o escopo do modo de exibição. Para saber mais, confira Enumeração SPViewScope.
  • formatterJSON: uma configuração opcional para especificar a formatação JSON para a exibição.

Exemplo

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

Remove um modo de exibição de uma lista. Essa ação também pode ser usada para remover um modo de exibição aplicado pelo modelo do site.

Valor JSON

  • name: o nome do modo de exibição a ser removido.

Exemplo

{
  "verb": "removeSPView",
  "name": "All Items"
}

addContentType

Adiciona um tipo de conteúdo à lista. Atualmente, estes são limitados aos tipos de conteúdo padrão incluídos no modelo de site ou aqueles definidos em um script usando a ação createContentType.

Observação

Atualmente não há suporte para adicionar conteúdo do tipo corporativo.

Valor JSON

  • name: o nome do tipo de conteúdo a ser adicionado.

Exemplo

{
  "verb": "addContentType",
  "name": "name"
}

removeContentType

Remove um tipo de conteúdo fornecido pelo tipo de modelo selecionado.

Valor JSON

  • name: o nome do tipo de conteúdo a ser removido.

Exemplo

{
  "verb": "removeContentType",
  "name": "name"
}

setSPFieldCustomFormatter

Define a formatação de coluna de um campo. Para saber mais, confira Usar formatação de coluna para personalizar o SharePoint.

Valores JSON

  • fieldDisplayName: o nome de exibição do campo no qual operar.
  • formatterJSON: objeto JSON a ser usado como o campo CustomFormatter.

Exemplo

Neste exemplo, estamos formatando uma coluna de números como barra de dados.

{
  "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 a extensão do campo para um campo de lista. Para saber mais sobre essas extensões do lado do cliente, confira o tutorial Criar personalizador de campo.

Valores JSON

  • internalName: o nome interno do campo no qual operar.
  • clientSiteComponentId: o identificador (GUID) da extensão no Catálogo de Aplicativos. O valor da propriedade pode ser encontrado no arquivo manifest.json ou no arquivo elements.xml.
  • clientSiteComponentProperties: um parâmetro opcional, que pode ser usado para fornecer propriedades para a instância da extensão do personalizador de campos.

Exemplo

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

Associa um ListViewCommandSet à lista

Valores JSON

  • title: o título da extensão.
  • location: um parâmetro necessário para especificar onde o comando é exibido. As opções são: ClientSideExtension.ListViewCommandSet.ContextMenu ou ClientSideExtension.ListViewCommandSet.CommandBar.
  • clientSideComponentId: o identificador (GUID) da extensão no Catálogo de Aplicativos. O valor da propriedade pode ser encontrado no arquivo manifest.json ou no arquivo elements.xml.
  • clientSideComponentProperties: um parâmetro opcional, que pode ser usado para fornecer propriedades para a instância de extensão.

Exemplo

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

Renomeia a lista. Para criar uma nova lista com um nome específico, em vez de usar setTitle, use o parâmetro listName na ação CreateSPList.

Observação

O uso de setTitle renomeará a lista, evitando que a lista seja atualizada se o modelo de site for reaplicado.

Valor JSON

  • title: o título da nova lista.

Exemplo

{
  "verb": "setTitle",
  "title": "Customers and Orders"
}

Definir uma nova coluna de site

Use o verbo createSiteColumn para definir uma nova coluna de site que, em seguida, pode ser associada a uma lista diretamente ou usando a ação addContentType.

Valor JSON

  • fieldType: o tipo da coluna a ser adicionada. Valores com suporte, como SPField, são texto, anotações, número, booliano, usuários e DateTime. Para outros tipos de dados, consulte a ação de script addSPFieldXml.
  • internalName: o nome interno da coluna de site.
  • displayName: o nome de exibição da coluna de site.
  • isRequired: True se esse campo precisar conter informações; caso contrário, False.
  • id: um atributo opcional. Se fornecido, especifica o nome interno do campo. Ele precisa ser um GUID exclusivo gerado aleatoriamente. É altamente recomendável fornecer um valor para isso, para garantir que o campo não seja adicionado várias vezes se o script for executado novamente.
  • group: um atributo opcional para designar o grupo de coluna.
  • enforceUnique: um atributo opcional cujo padrão é False. Se True, todos os valores para esse campo devem ser exclusivos.

Exemplo

{
  "verb": "createSiteColumn",
  "fieldType": "User",
  "internalName": "siteColumn4User",
  "displayName": "Project Owner",
  "isRequired": false,
  "id": "181c4370-cdae-471b-9499-730046e55b75"
}

Use o verbo createSiteColumnXml para definir uma nova coluna de site para os tipos de dados complexos aos quais createSiteColumn não dá suporte. Essas colunas podem então ser associadas a uma lista diretamente ou usando a ação addContentType. Fornecer o atributo ID no campo schemaXml é muito importante para impedir que o campo seja criado várias vezes se o script for executado mais de uma vez.

Valor JSON

  • schemaXml: o bloco CAML que definirá o campo.
  • pushChanges: indica se essa alteração deve ser enviada para listas que já fazem referência a esse campo. O padrão é True.

Exemplo

{
  "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 um novo tipo de conteúdo

Use createContentType para definir um novo tipo de conteúdo que, em seguida, pode ser associado a uma lista usando a ação addContentType.

Valor JSON

Observação

Ao fazer referência à ID do tipo de conteúdo, somente uma das três referências são necessárias: ID, parentName ou parentId.

  • name: o nome do tipo de conteúdo a ser criado.
  • description: a descrição opcional do tipo de conteúdo.
  • parentName: o nome do tipo de conteúdo pai.
  • parentId: a ID do tipo de conteúdo pai.
  • id: a ID do tipo de conteúdo.
  • hidden: especificar se o tipo de conteúdo está visível ou oculto.
  • group: grupo do tipo de conteúdo.
  • subactions: especifica subações a serem executadas no tipo de conteúdo. Estas são usadas para designar as colunas de site a serem adicionadas.

Exemplo

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

Subação para adicionar uma coluna de site predefinida diretamente a um tipo de conteúdo (existente ou criado pelo script de site).

Valor JSON

  • internalName: o nome interno da coluna de site a ser adicionada.

Exemplo

 {
  "verb": "addSiteColumn",
  "internalName": "siteColumnUser"
 }

removeSiteColumn

Subação para remover uma coluna de site de uma lista ou de um tipo de conteúdo.

Valor JSON

  • internalName: o nome interno da coluna de site a ser removida.

Exemplo

 {
  "verb": "removeSiteColumn",
  "internalName": "siteColumnUser"
 }

Use o verbo addNavLink para adicionar um novo link de navegação ao site QuickLaunch ou Hub do site.

Valores JSON

  • url: a URL do link a ser adicionado.
  • displayName: o nome de exibição do link.
  • navComponent: o componente em que o link deve ser adicionado, QuickLaunch, Hub ou Rodapé. O padrão é QuickLaunch.
  • isWebRelative: True se o link for relativo à Web; caso contrário, False. O padrão é False.
  • parentDisplayName: um parâmetro opcional. Se fornecido, torna esse link de navegação um filho (sublink) do link de navegação com esse displayName. Se esse item e parentUrl forem fornecidos, será pesquisado um link que corresponda a ambos para ser o pai.
  • parentUrl: um parâmetro opcional. Se fornecido, ele torna esse link de navegação um filho (sub link) do link de navegação com essa URL. Se esse item e parentDisplayName forem fornecidos, será pesquisado um link que corresponda a ambos para ser o pai.
  • isParentUrlWebRelative: um parâmetro opcional. True se o link for relativo à Web; caso contrário, False. O valor padrão é False.

Exemplo

Observação

Se você adicionar um link a um item de site aninhado, como uma lista, adicione o caminho de referência da raiz.

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

Use o verbo removeNavLink para remover um link de navegação do site.

Valores JSON

  • url: a URL do link a ser removido.
  • displayName: o nome de exibição do link.
  • navComponent: o componente de onde o link deve ser removido, QuickLaunch, Hub ou Rodapé. O padrão é QuickLaunch.
  • isWebRelative: True se o link for relativo à Web; caso contrário, False.

Exemplo

Observação

Essa ação pode ser usada para remover links de site adicionados pelos modelos de site de colaboração e comunicação (por exemplo, "página inicial", "documentos", "páginas" e "conversas").

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

Lidar com caracteres especiais

Os sites criados em idiomas diferentes do inglês podem conter caracteres especiais. Use a codificação UTF-8 para ler o conteúdo JSON com caracteres especiais.

Get-Content '<Folder_location_to_site_script>\site-script.json' -Raw -Encoding UTF8

Aplicar um tema

Use o verbo applyTheme para adicionar um tema personalizado ao site. Para saber mais sobre como criar e carregar esses temas, confira temas do site do SharePoint. Essa ação do site só funciona para aplicar temas personalizados. Para aplicar um dos nossos temas no produto do SharePoint, crie uma cópia como tema personalizado e faça referência a ela.

Observação

Esta ação é automaticamente bloqueada para sites de canais.

Valor JSON

  • themeName: o nome do tema a ser aplicado.

Exemplo

{
  "verb": "applyTheme",
  "themeName": "Blue Yonder"
}

Definir propriedades de identidade visual

Use o verbo setSiteBranding para especificar o layout de navegação, o layout de cabeçalho e o plano de fundo do cabeçalho.

Observação

Definir o layout de navegação só funciona no modelo de site de comunicação e na navegação de hub. Esta ação é automaticamente bloqueada para sites de canais.

Valor JSON

  • navigationLayout: especifique o layout de navegação como Em cascata ou Megamenu
  • headerLayout: especifique o layout do cabeçalho como Padrão ou Compacto
  • headerBackground: especifique o fundo do cabeçalho como Nenhum, Neutro, Suave ou Forte
  • showFooter: especifique se o rodapé do site deve aparecer ou não

Exemplo

{
  "verb": "setSiteBranding",
  "navigationLayout": "Megamenu",
  "headerLayout": "Compact",
  "headerBackground": "Strong",
  "showFooter": true
}

Use o verbo setSiteLogo para especificar o logotipo do seu site.

Observação

Essa ação funciona apenas no modelo de site de comunicação (68).

Valor JSON

  • url: a URL da imagem do logotipo a ser usada.

Exemplo

{
  "verb": "setSiteLogo",
  "url": "/Customer Event Collateral/logo.jpg"
}

Ingressar em um site de hub

Observação

Esta ação é automaticamente bloqueada para sites de canais.

Use o verbo joinHubSite para adicionar o site a um site de hub designado.

Valor JSON

  • hubSiteId: a ID do site de hub no qual ingressar.
  • name: uma cadeia de caracteres opcional que especifica o nome do site de hub.

Exemplo

Observação

Para obter o hubSiteId, entre em um site usando o cmdlet Connect-PnPOnline e execute:

$hubSiteName = "My Hub Site"
Get-PnPHubSite | Where-Object { $_.Title -eq $hubSiteName }

Isso retorna informações sobre o Site de Hub chamado $hubSiteName. O hubSiteId é retornado como o SiteId.

{
  "verb": "joinHubSite",
  "hubSiteId": "e337cc17-b355-45d2-8dd4-e056f1bcf6f6"
}

Instalar um suplemento ou uma solução

Use a ação installSolution para instalar um suplemento implantado ou uma solução de Estrutura do SharePoint do Catálogo de Aplicativos do locatário.

Exemplo

Observação

Para obter a ID da solução, entre em um site usando o cmdlet Connect-PnPOnline e, em seguida, execute obter PnPApp. Isso retorna uma lista de suas soluções implantadas. Para locatários de vários lugares, use o ID do produto depois de configurar a solução em cada local geográfico. Obtenha a ID do produto fazendo o upload da solução para o catálogo de aplicativos ou na definição da solução.

{
  "verb": "installSolution",
  "id": "d40e4edc-a6da-4cd8-b82d-bba970976803"
}

Registrar uma extensão

Use a ação associateExtension para registrar uma extensão implantada da Estrutura do SharePoint do Catálogo de Aplicativos do locatário.

Observação

Para saber mais sobre como criar e configurar uma extensão de Estrutura do SharePoint, confira: Visão Geral das Extensões da Estrutura do SharePoint.

Valores JSON

  • title: o título da extensão no Catálogo de Aplicativos.
  • location: usado para especificar o tipo de extensão. Se ele for usado para criar comandos, em seguida, onde o comando seria exibido; caso contrário, isso deve ser definido como ClientSideExtension.ApplicationCustomizer.
  • clientSideComponentId: o identificador (GUID) da extensão no Catálogo de Aplicativos. O valor da propriedade pode ser encontrado no arquivo manifest.json ou no arquivo elements.xml.
  • clientSideComponentProperties: um parâmetro opcional, que pode ser usado para fornecer propriedades para a instância de extensão.
  • registrationId: Um parâmetro opcional, que indica o tipo de lista à qual a extensão está associada (se for uma extensão de lista).
  • registrationType: um parâmetro opcional, que deverá especificado se a extensão estiver associada a uma lista.
  • scope: Indica se o ramal está associado a Web ou a umSite.

Exemplo

{
  "verb": "associateExtension",
  "title": "SPFXApplicationCustomizer Example",
  "location": "ClientSideExtension.ApplicationCustomizer",
  "clientSideComponentId": "40d64749-a6e5-4691-b440-1e32fb6sean5",
  "scope": "Web"
}

Ativar um Recurso

Use a ação activateSPFeature para ativar um recurso do Microsoft Office SharePoint Online.

Valores JSON

  • featureId: A ID do recurso a ser ativado (GUID).
  • scope: Indica se o recurso está associado a web ou a um site.

Exemplo

Para habilitar o recurso com escopo da web que permite a criação de Listas de Eventos (ID do recurso 00bfea71-ec85-4903-972d-ebe475780106):

{
  "verb": "activateSPFeature",
  "featureId": "00bfea71-ec85-4903-972d-ebe475780106",
  "scope": "web"
}

Disparar um fluxo

Use o verbo triggerFlow para iniciar um fluxo personalizado.

Dica

O artigo Chamando o Power Automate a partir de um script de site fornece um exemplo de ponta a ponta.

Valores JSON

  • url: uma URL de disparo do fluxo.
  • name: o nome do fluxo.
  • parameters: um conjunto opcional de parâmetros para transmitir ao fluxo.

Exemplo

 {
  "verb": "triggerFlow",
  "url": "<A trigger URL of the Flow.>",
  "name": "Record and tweet site creation event",
  "parameters": {
    "event": "Microsoft Event",
    "product": "SharePoint"
  }
}

Alterar configurações regionais.

Observação

Esta ação é automaticamente bloqueada para sites de canais.

Use a ação setRegionalSettings para definir as configurações regionais do site (/layouts/15/regionalsetng.aspx).

Valores JSON

  • timeZone: um número que especifica o fuso horário. Para obter uma lista de valores permitidos, confira SPRegsionalSettings.TimeZones
  • locale: um número que especifica a cultura LCID. Para obter uma lista de valores permitidos, confira Valores de ID de localidade da Microsoft
  • sortOrder: um número que especifica a ordem de classificação. Para obter uma lista de valores permitidos, confira SPRegionalSettings.Collation.
  • hourFormat: especifica se o site deve usar o formato de 12 horas ou de 24 horas.

Exemplo

{
  "verb": "setRegionalSettings",
  "timeZone": 2, /* Greenwich Mean Time */
  "locale": 1050, /* Croatia */
  "sortOrder": 6, /* Croatian */
  "hourFormat": "24"
}

Adicionar usuários (entidades de segurança) aos Grupos do SharePoint

Observação

Esta ação é automaticamente bloqueada para sites de canais.

Use a ação addPrincipalToSPGroup para gerenciar a adição de usuários e grupos a grupos selecionados padrão do SharePoint. Para saber mais, confira Noções Básicas sobre os Grupos do SharePoint. Esta ação pode ser usada para usuários licenciados, grupos de segurança e grupos do Microsoft 365.

Valores JSON

  • principal: um parâmetro obrigatório para especificar o nome da entidade de segurança (usuário ou grupo) a ser adicionada ao grupo do SharePoint.
  • group: um parâmetro obrigatório para especificar o grupo do SharePoint ao qual a entidade de segurança deve ser adicionada.

Exemplo

Observação

No momento, esta ação só oferece suporte para os grupos Visitantes (nível de permissão: ler), Membros (nível de permissão: contribuir ou editar, dependendo do modelo do site) e Proprietários (nível de permissão: controle total). As entidades de segurança devem ser adicionadas individualmente.

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

Gerenciar o acesso dos convidados

Observação

Esta ação é automaticamente bloqueada para sites de canais.

Use a ação setSiteExternalSharingCapability para gerenciar o acesso dos convidados. Para saber mais, confira Gerenciar o compartilhamento externo para seu ambiente do SharePoint Online.

Valores JSON

  • capability: um parâmetro obrigatório para especificar a opção de compartilhamento para o conjunto de sites. As quatro opções são: Disabled, ExistingExternalUserSharingOnly, ExternalUserSharingOnly e ExternalUserAndGuestSharing.

Exemplo

{
  "verb": "setSiteExternalSharingCapability",
  "capability": "Disabled"
}

Confira também