How to Create a Group in SharePoint Using REST API

Develop the project using the following method in the NAPA Tool.

On your Developer Site, open the "Napa" Office 365 Development Tools and then choose Add New Project.

  • Choose the App for SharePoint template, name the project Create Site, and then choose the Create button.
  • Replace APP.js with the following source code.
  • Publish Your App.
    Publish Your App

Prerequisite

The following are important steps to be taken before creating the app.

Specify the permissions that your app needs as in the following.

Choose the Properties button at the bottom of the page.

  • In the Properties window, choose Permissions.
  • In the Content category, set the Write permissions for the Tenant scope.
  • In the Social category, set the Read permissions for the User Profiles scope.
  • Close the Properties window.
    Properties window

Source Code

'use strict';

var hostweburl;
var appweburl;

// Get the URLs for the app web and the host web URL from the query string.
$(document).ready(function () {
    // Get the URI decoded URLs.
    hostweburl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
    appweburl = decodeURIComponent(getQueryStringParameter("SPAppWebUrl"));

    // Load the js file and continue to load the page with information about the folders.
    // SP.RequestExecutor.js to make cross-domain requests
    $.getScript(hostweburl + "/_layouts/15/SP.RequestExecutor.js", creategroup);
});

// Retrieve all of the folders from root Site
function creategroup() {
    var executor;

    // Initialize the RequestExecutor with the app web URL.
    executor = new SP.RequestExecutor(appweburl);

    executor.executeAsync({
        url: appweburl + "/_api/SP.AppContextSite(@target)/web/sitegroups?@target='" + hostweburl + "'",
        method: "POST",
        body: "{'__metadata':{'type':'SP.Group'}, 'Title':'New Group'}",
        headers: {
            "content-type": "application/json; odata=verbose"
        },
        success: function(data) {
            alert("Group CREATED SUCCESSFULLY");
        },
        error: function(err) {
            alert("error: " + JSON.stringify(err));
        }
    });
}

// Utilities
// Retrieve a query string value.
// For production purposes you may want to use a library to handle the query string.
function getQueryStringParameter(paramToRetrieve) {
    var params = document.URL.split("?")[1].split("&");
    for (var i = 0; i < params.length; i = i + 1) {
        var singleParam = params[i].split("=");
        if (singleParam[0] == paramToRetrieve) return singleParam[1];
    }
}

Publish

Publish the App and click the Trust it Button.

Publish

Output

Group Created Successfully.

Output

I hope you liked this article.