Crea la pagina del sito tramite l'API REST
Vorrei creare una pagina del sito tramite l'API REST con il mio titolo e contenuto. Finora ho provato a inviare una richiesta POST ma ho ricevuto un errore:
Per aggiungere un elemento a una raccolta documenti, utilizzare SPFileCollection.Add ()
INVIARE: <url>/_api/web/lists/GetByTitle('Site Pages')/Items
Corpo:
{
"__metadata": {
"type": "SP.Data.SitePagesItem"
},
"Title": "It's working?"
}
Da quello che ho capito, prima devo creare una pagina del sito (un file) in SharePoint e quindi modificarla tramite REST. Tuttavia, il mio requisito è creare l'intera voce solo tramite REST.
Come si può fare?
Risposte
Questo è un ottimo articolo che spiega come farlo. In sostanza, crea un nuovo .aspx
file nella libreria delle pagine del sito. Ecco il codice che usano (chiamato da una pagina sul Web di destinazione):
function CreateWikiPage() {
// Get Server relative url of Web(site)
var WebServerRelativeUrl = _spPageContextInfo.webServerRelativeUrl;
// Provide Internal name of the library here
var DocuentLibraryInternalName = "SitePages";
// Provide name of the wiki page to be created
var NewPageName = "NewRESTWikipage.aspx";
// Form relative url of the new page. This will be used in function below
var NewFileUrl = WebServerRelativeUrl + "/" + DocuentLibraryInternalName + "/" + NewPageName;
$.ajax({ // "templateFileType" values in below method // StandardPage. The value = 0. // WikiPage. The value = 1. // FormPage. The value = 2. url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/GetFolderByServerRelativeUrl('" + WebServerRelativeUrl + "/" + DocuentLibraryInternalName + "')/Files/AddTemplateFile(urlOfFile='" + NewFileUrl + "',templateFileType=1)", method: "POST", headers: { "accept": "application/json;odata=verbose", "content-type": "application/json;odata=verbose", "X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function (data, status, xhr) {
console.log("Success");
},
error: function (xhr, status, error) {
console.log("Failed");
}
});
}
Creare il modello di "voci moderne" in SharePoint. Segui questa guida per farlo.
Crea una nuova pagina del sito tramite l'API REST utilizzando il modello salvato. Basta copiarlo dalla cartella dei modelli alla cartella principale di quella sottopagina:
/_api/Web/GetFileByServerRelativeUrl('<source_url>')/CopyTo(strnewurl='<target_url>',bOverwrite=false)
Modifica la pagina del sito appena creata come desideri (ad es. Tramite API REST).
URL di origine e di destinazione:
source_url
- /sites/<your_site>/SitePages/Templates/Your-Template.aspx
target_url
- /sites/<your_site>/SitePages/New-Modern-Page.aspx