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)
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|username@contoso.onmicrosoft.com",
"Title": "John Doe"
}
}
}
You can use the below rest query to get the modified by user's title:
/_api/web/lists/getbytitle('Pages')/items(1)?$select=Editor/Name,Editor/Title&$expand=Editor/Id