Latest Posts

Get All Site Templates in SharePoint using REST API

The example in this topic show how to use REST API to Get All Site Templates in SharePoint
  • REST-API is based on OData (Open Data) Protocol and hence it doesn't require any dll or JS library to run the commands on the SharePoint objects.
  • REST-API calls require proper end-point URL and proper Header implementation in your REST call.

How to use SharePoint REST API?

  • Note: This is just a sample, you can go ahead with your implementation.
  • You can also use this method in your SPFx Component.
  • Open your Site. Create a webpart page.
  • Put a Content Editor Web part and a Script Editor Web part on it.
  • Webpart page content editor and scipt editor
  • I have added below Html in Content Editor webpart. You can replace MainFunction with your actual method name.

    <button onclick="MainFunction();" type="button">Click me​</button>

  • And below references in Script Editor Webpart. ScriptFile.js is a JavaScript file where you can keep below function i.e. your actual logic.

    <script src="https://MyServer/sites/SiteCollection/style library/js/ScriptFile.js"></script>

  • Once you are done with setting your page, click on the button and your method should get executed.

  • function GetAllSiteTemplates()
  • {
  •        $.ajax
  •         ({
  •             // _spPageContextInfo.webAbsoluteUrl - will give absolute URL of the site where you are running the code.
  •             // You can replace this with other site URL where you want to apply the function
  •            
  •             // Here there are two parameters. (1) LCID(Locale ID) - 1033
  •             // Note: Not all LCID codes will work on your web server. The appropriate language files must be installed for currency/date formatting to work properly. LCID 1033 = English - United States
  •             // (2) doIncludeCrossLanguage = false - Specifies whether to include language-neutral site templates.
  •             url:  _spPageContextInfo.webAbsoluteUrl + "/_api/web/GetAvailableWebTemplates(lcid=1033,doincludecrosslanguage=false)",
  •             type: "GET",
  •             headers:
  •             {
  •                 // Accept header: Specifies the format for response data from the server.
  •                 "Accept": "application/json;odata=verbose",
  •             },
  •                success: function (data, status, xhr) {
  •                 var dataresults = data.d.results;                
  •                 for (var i = 0; i < dataresults.length; i++)
  •                 {
  •                      console.log("Site Template Name - " + dataresults[i].Name + " | Site Templates Title - " + dataresults[i].Title);
  •                 }
  •               },
  •                error: function (xhr, status, error) {
  •                    console.log("Failed");
  •                }
  •         });
  • }

Thank you for reading this article. This code was tested in SharePoint 2013

We value your Feedback:

Page URL:

Name:

Email:


Suggestion:

© 2023 Code SharePoint