Question

I am looking for a way to update a column of type "Person or Group" using HTTP Request of type REST.

Thank you.

Was it helpful?

Solution

Here is a Rest call sample to update person field in List named "MyList" and Person field named "Person1":

   $.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('MyList')/items(10)",
        type: "POST",        
        headers: 
        { 
            // Accept header: Specifies the format for response data from the server.
            "Accept": "application/json;odata=verbose",
            //Content-Type header: Specifies the format of the data that the client is sending to the server
            "Content-Type": "application/json;odata=verbose",
            // IF-MATCH header: Provides a way to verify that the object being changed has not been changed since it was last retrieved.
            // "IF-MATCH":"*", will overwrite any modification in the object, since it was last retrieved.
             "IF-MATCH": "*",
            //X-HTTP-Method:  The MERGE method updates only the properties of the entity , while the PUT method replaces the existing entity with a new one that you supply in the body of the POST
            "X-HTTP-Method": "MERGE",
            // X-RequestDigest header: When you send a POST request, it must include the form digest value in X-RequestDigest header
            "X-RequestDigest": $("#__REQUESTDIGEST").val()
        },
         data: JSON.stringify({
         __metadata:
            {
              // Format of the "type" is: SP.Data.<<ListName>>ListItem. First character of the <<ListName>> should be in Capital
              type: "SP.Data.MyListListItem"
            },
            Title: "Updated Title",
            Person1Id: 9 
        }),
        success: function(data, status, xhr) 
        { 
            console.log("Success");     
        }, 
        error: function(xhr, status, error) 
        { 
            console.log("Failed");
        } 
    });

Person1Id:9 is used to specify the user id which need to be set, you could find all the site users and users id with this request:

/_api/web/siteusers
Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top