Ci è un sacco di risorse intorno che mostrano come fare questo, ma non riuscivo a trovare un link completo go-a, così siamo qui.
È possibile creare un sito di SharePoint utilizzando l'API REST. Ecco un esempio completamente al forno:
<!-- SiteRequestForm.html: Raccogliere informazioni e creare un sito per l'utente. --> <centro> <tabella> <TR> <TD>Nome del sito:</TD> <TD><ingresso tipo= "testo" nome= "NomeSito" Identificazione= "NomeSito" /></TD> </TR> <TR> <TD colspan= 2""> <ingresso tipo= "Invia" Identificazione= CreateSiteButton"" valore= "Crea il sito" /> </TD> </TR> </tabella> </centro> <script di src="../Plugins/jQuery-1.11.0.min.js"></script di> <script di> var CreateSiteLogicContainer = { createSiteData: { «parametri": { __metadata: { "tipo": "SP.WebInfoCreationInformation" }, URL: "Paultest1", Titolo: "Paultest1", Descrizione: "web resto-creato da Paolo!", Lingua: 1033, WebTemplate: m."", UseUniquePermissions: falso } }, createSite: funzione () { jQuery.support.cors = true; CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").Val(); $.AJAX({ URL: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add", Metodo.: "POST", intestazioni: { "Accettare": "application/json; OData = verbose", "content-type": "application/json;OData = verbose", "X-RequestDigest": $("#__REQUESTDIGEST").Val() }, dati: Stringify(CreateSiteLogicContainer.createSiteData), successo: funzione () { avviso("il successo"); }, errore: funzione () { avviso("errore"); } }); }, wireUpForm: funzione () { $("#CreateSiteButton").fare clic su(funzione () { avviso("Per cercare di creare il sito."); CreateSiteLogicContainer.createSite(); }); } } CreateSiteLogicContainer.wireUpForm(); </script di>
Quando è successo, si ottiene un pacchetto JSON in risposta come questo:
I miei pensieri chiavi e apprendimenti da questo includono:
- Questo approccio utilizza jQuery. Nel mio caso, mia libreria jQuery si trova in ".../ plugin. " Ti consigliamo di cambiare che per puntare alla tua posizione preferita di JQ.
- È possibile copiare e incollare quel frammento intero in una Web Editor contenuto Part in una pagina e dovrebbe funzionare bene. Ti consigliamo di cambiare il punto di fine della chiamata API e assicurarsi che si fa riferimento JQ correttamente.
- L'URL è relativo dell'endpoint di API. Nel mio caso, è la creazione di siti secondari sotto https://bigapplesharepoint.com
- Non è necessario fornire una contenuto-lunghezza. Alcuni blog e MSDN documento implica che si fa, ma è successo per me automaticamente, che presumo viene gestita dalla chiamata del AJAX $.
- Questa linea è necessaria al fine di evitare una risposta "proibita": "X-RequestDigest": $("#__REQUESTDIGEST").Val(). Ci sono altri modi per farlo, ma questo è abbastanza piacevole. Ho perso il link al blog che ha fornito questa scorciatoia. H/T a voi, misteriosa blogger!
Buona fortuna e spero che questo aiuti qualcuno fuori.
</fine>
Seguimi su Twitter a http://www.twitter.com/pagalvin