விரைவான மற்றும் எளிதான: மற்ற பயன்படுத்தி ஒரு ஷேர்பாயிண்ட் தள உருவாக்கு

There are a lot of resources around that show how to do this, but I couldn’t find a comprehensive go-to link, so here we are.

You can create a SharePoint site using the REST API.  Here’s a fully baked example:

<!--
    SiteRequestForm.html: Collect information and create a site for the user.
-->

<மையம்>
<மேசை>
    <TR>
        <TD>Site Name:</TD>
        <TD><உள்ளீடு மாதிரி="text" பெயர்="SiteName" ஐடி="SiteName" /></TD>
    </TR>
    <TR>
        <TD colspan="2">
            <உள்ளீடு மாதிரி="submit" ஐடி="CreateSiteButton" மதிப்பு="Create the Site" />
        </TD>
    </TR>
</மேசை>
</மையம்>

<ஸ்கிரிப்ட் src="../Plugins/jquery-1.11.0.min.js"></ஸ்கிரிப்ட்>

<ஸ்கிரிப்ட்>
இருந்தது CreateSiteLogicContainer = {

    createSiteData: {
            "parameters": {
                __metadata: { "type": "SP.WebInfoCreationInformation" },
                Url: "Paultest1",
                தலைப்பு: "Paultest1",
                விளக்கம்: "rest-created web by Paul!",
                மொழி: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: தவறான
            }
    },

    createSite: செயல்பாடு () {

        jQuery.support.cors = உண்மையான;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").Val();
        
        $.ajax({
            URL: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            முறை: "POST",

            headers: {
                "Accept": "application/json; odata=verbose",
                "content-type": "application/json;odata=verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            தரவு: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            success: செயல்பாடு () { எச்சரிக்கை செய்("success"); },
            பிழை: செயல்பாடு () { எச்சரிக்கை செய்("error"); }

        });
    },

    wireUpForm: செயல்பாடு () {
        $("#CreateSiteButton").கிளிக்(செயல்பாடு () {
            எச்சரிக்கை செய்("About to try and create the site.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</ஸ்கிரிப்ட்>

When successful, you get a JSON packet in response like this:

image

My key thoughts and learnings from this include:

  • This approach uses jQuery.  என் வழக்கு, my jQuery library is located in “../plugins.”  You’ll want to change that to point to your favorite JQ location.
  • You can copy and paste that whole snippet into a Content Editor Web Part on a page and it should work just fine.  You’ll want to change the end point of the API call and make sure you reference JQ correctly.
  • The URL is relative to your API’s endpoint.  என் வழக்கு, it’s creating sub-sites underneath https://bigapplesharepoint.com
  • You don’t need to provide a content-length. Some blog posts and MSDN document implies that you do, but happened for me automatically, which I assume is being handled by the $.ajax call itself.
  • This line is required in order to avoid a “forbidden” response: "X-RequestDigest": $("#__REQUESTDIGEST").Val().  There are other ways to do it, but this is pretty nice.  I have lost the link to blog that provided this shortcut.  H/T to you, mysterious blogger!

Good luck and hope this helps someone out.

</இறுதியில்>

undefinedஎன்னுடைய குழுசேர்.

மணிக்கு ட்விட்டரில் என்னை பின் http://www.twitter.com/pagalvin

ஒரு பதில் விட்டு

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டன *