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:
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>
Siga-me no Twitter em http://www.twitter.com/pagalvin