Latest Posts

Add Group To List in SharePoint using REST API

The example in this topic show how to use REST API to Remove Groups Permissions From List 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 AddGroupToList()
  • {
  •        /* Functions to perform in sequence:
  •        1) Get Group ID from Site - GetGroupId()
  •        2) Get RoleDefinition ID - GetRoleDefinitionId()
  •        3) Use Group ID and RoleDefinition ID to perform action - AddGroupToListUsingGroupIdAndRoleDefinitionId() */
  •  
  •        GetGroupId();
  • }
  •  
  • function GetGroupId()
  • {
  •        $.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
  •            
  •               url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/sitegroups/getbyname('Designers')/id",
  •             type: "GET",
  •             async: false,
  •               headers:
  •             {
  •                 // Accept header: Specifies the format for response data from the server.
  •                 "Accept": "application/json;odata=verbose"
  •             },
  •                success: function (data, status, xhr) {
  •                    var GroupId = data.d.Id;
  •                    GetRoleDefinitionId(GroupId)
  •                      },
  •                error: function (xhr, status, error) {
  •                    console.log("Failed");
  •                }
  •         });       
  • }
  •  
  • function GetRoleDefinitionId(GroupId)
  • {
  •        $.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
  •            
  •               url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/roledefinitions/getbyname('Read')/id",
  •             type: "GET",
  •             async: false,
  •               headers:
  •             {
  •                 // Accept header: Specifies the format for response data from the server.
  •                 "Accept": "application/json;odata=verbose"
  •             },
  •                success: function (data, status, xhr) {
  •                    var RoleDefinitionId = data.d.Id;
  •                    AddGroupToListUsingGroupIdAndRoleDefinitionId(GroupId,RoleDefinitionId);
  •                      },
  •                error: function (xhr, status, error) {
  •                    console.log("Failed");
  •                }
  •         });       
  • }
  •  
  • function AddGroupToListUsingGroupIdAndRoleDefinitionId(GroupId,RoleDefinitionId)
  • {
  •        $.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
  •            
  •               url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('List%20Name')/roleassignments/addroleassignment(principalid='" + GroupId + "',roledefid='" + RoleDefinitionId +"')",
  •             type: "POST",
  •               headers:
  •             {
  •                 // X-RequestDigest header: When you send a POST request, it must include the form digest value in X-RequestDigest header
  •                 "X-RequestDigest": $("#__REQUESTDIGEST").val()
  •             },
  •                success: function (data, status, xhr) {
  •                            console.log("Success");
  •                      },
  •                error: function (xhr, status, error) {
  •                    console.log("Failed");
  •                }
  •         });       
  • }

Similar examples using different APIs:

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

We value your Feedback:

Page URL:

Name:

Email:


Suggestion:

© 2024 Code SharePoint