Rápido e fácil: Criar um Site do SharePoint usando o resto

Há um monte de recursos em torno do que mostram como fazer isso, Mas não consegui encontrar um link abrangente que, Então, aqui estamos....

Você pode criar um site do SharePoint usando a API REST.  Aqui está um exemplo totalmente cozido:

<!--
    SiteRequestForm.html: Coletar informações e criar um site para o usuário.
-->

<Centro>
<tabela>
    <TR>
        <TD>Nome do site:</TD>
        <TD><entrada tipo= "texto" nome= "NomeDoSite" ID= "NomeDoSite" /></TD>
    </TR>
    <TR>
        <TD ColSpan= 2"">
            <entrada tipo= "submit" ID= "CreateSiteButton" valor= "Criar o Site" />
        </TD>
    </TR>
</tabela>
</Centro>

<script src="../Plugins/jQuery-1.11.0.min.js"></script>

<script>
var CreateSiteLogicContainer = {

    createSiteData: {
            "parâmetros": {
                __metadata: { "tipo": "SP.WebInfoCreationInformation" },
                URL: "Paultest1",
                Título: "Paultest1",
                Descrição: "web resto-criado por Paul!",
                Língua: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: falso
            }
    },

    createSite: função () {

        jQuery.support.cors = verdadeiro;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").Val();
        
        $.Ajax({
            URL: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            Método: "POST",

            cabeçalhos: {
                "Aceitar": "application/json; OData = verbose",
                "content-type": "application/json;OData = verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            dados: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            sucesso: função () { alerta("o sucesso"); },
            erro: função () { alerta("erro"); }

        });
    },

    wireUpForm: função () {
        $("#CreateSiteButton").Clique em(função () {
            alerta("Prestes a experimentar e criar o site.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</script>

Quando bem sucedida, se um pacote JSON em resposta assim:

image

Meus pensamentos chaves e aprendizados desta incluem:

  • Essa abordagem usa jQuery.  No meu caso, minha biblioteca jQuery situa-se em ".../ plugins. "  Você vai querer mudar isso para seu local favorito de JQ.
  • Você pode copiar e colar o trecho inteiro em uma Web Part do Editor de conteúdo em uma página e deve funcionar bem.  Você vai querer mudar o ponto de extremidade da chamada de API e certifique-se de que fazer referência JQ corretamente.
  • O URL é relativo para o ponto de extremidade de sua API.  No meu caso, é criar subsites por baixo https://bigapplesharepoint.com
  • Você não precisa fornecer um conteúdo-comprimento. Alguns posts e MSDN documento implica que você faz..., Mas aconteceu-me automaticamente, que presumo que está sendo manipulado pela chamada AJAX $ em si.
  • Esta linha é necessária para evitar uma resposta de "proibida": "X-RequestDigest": $("#__REQUESTDIGEST").Val().  Existem outras maneiras de fazê-lo, Mas isso é muito bom.  Eu perdi o link para o blog que forneceu este atalho.  H/T para você, blogueiro misterioso!

Boa sorte e espero que isso ajude alguém.

</fim>

undefinedSubscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Deixar uma resposta

seu endereço de e-mail não será publicado. Campos obrigatórios são marcados *