SharePoint REST Get User Title in a single REST query

Knows Not Much picture Knows Not Much · Mar 17, 2014 · Viewed 26.4k times · Source

I have a list which has a "People and Group" column. when I query the rows using REST, I get user Ids listed in this column.

I found this article which will help me in converting each id to a title

http://www.codeproject.com/Articles/692289/How-to-Get-Login-Name-and-Display-Name-using-Sha

But I am wondering if there is a way in which I can get the user title by a single REST call (rather than first get the ID and then making another call to convert the ID into the user display name and the login name)

Answer

Vadim Gremyachev picture Vadim Gremyachev · Mar 18, 2014

Using $expand OData operator you can specify that the request returns projected fields from other lists and the values of lookups.

The following REST endpoint:

/_api/web/lists/getbytitle('Pages')/items(1)?$select=Author/Name,Author/Title&$expand=Author/Id

returns Title and Name for Author column in Pages list

{
    "d": {
        "__metadata": {
            "id": "63b9e943-6398-4b6d-acc9-fc4f554f78df",
            "uri": "https://contoso.sharepoint.com/_api/Web/Lists(guid'be43ccf2-5ca7-4957-bf81-7cdc86744d9b')/Items(1)",
            "etag": "\"6\"",
            "type": "SP.Data.PagesItem"
        },
        "Author": {
            "__metadata": {
                "id": "8e4ad44e-f6f0-4dcc-92c6-78dc3d2c68af",
                "type": "SP.Data.UserInfoItem"
            },
            "Name": "i:0#.f|membership|[email protected]",
            "Title": "John Doe"
        }
    }
}