我有一个列表,其中包含"人员和群组"柱。当我使用REST查询行时,我会在此列中列出用户ID。
我发现这篇文章可以帮助我将每个id转换为标题
http://www.codeproject.com/Articles/692289/How-to-Get-Login-Name-and-Display-Name-using-Sha
但是我想知道是否有一种方法可以通过单个REST调用获取用户标题(而不是先获取ID然后再进行另一次调用以将ID转换为用户显示名称和登录名称)
答案 0 :(得分:15)
使用$expand
OData运算符,您可以指定请求返回其他列表中的投影字段和查找值。
以下REST端点:
/_api/web/lists/getbytitle('Pages')/items(1)?$select=Author/Name,Author/Title&$expand=Author/Id
返回页面列表
中Title
列的Name
和Author
{
"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"
}
}
}
答案 1 :(得分:1)
您可以使用以下休息查询来修改用户的标题: / _api /网络/列表/ getbytitle( '页数')/项目(1)$选择=编辑/名称,编辑/标题&安培; $扩大=编辑/编号