SharePoint REST在单个REST查询中获取用户标题

时间:2014-03-17 18:24:56

标签: rest sharepoint sharepoint-2013

我有一个列表,其中包含"人员和群组"柱。当我使用REST查询行时,我会在此列中列出用户ID。

我发现这篇文章可以帮助我将每个id转换为标题

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

但是我想知道是否有一种方法可以通过单个REST调用获取用户标题(而不是先获取ID然后再进行另一次调用以将ID转换为用户显示名称和登录名称)

2 个答案:

答案 0 :(得分:15)

使用$expand OData运算符,您可以指定请求返回其他列表中的投影字段和查找值。

以下REST端点:

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

返回页面列表

Title列的NameAuthor
{
    "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)$选择=编辑/名称,编辑/标题&安培; $扩大=编辑/编号