【问题标题】:SharePoint REST Get User Title in a single REST querySharePoint REST 在单个 REST 查询中获取用户标题
【发布时间】:2014-04-23 03:06:43
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: rest sharepoint sharepoint-2013


    【解决方案1】:

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

    以下 REST 端点:

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

    为页面列表中的Author 列返回TitleName

    {
        "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"
            }
        }
    }
    

    【讨论】:

    • 是否可以修改此 API 调用以获取任何用户的个人资料数据?我需要一种通过显示名称获取用户数据的通用方法。这些用户将属于站点访问者下列出的“所有人”组。
    • 不,您只能获取站点用户列表中的用户信息,这只不过是姓名和电子邮件。
    • 感谢您的回答!它适用于我表上的所有查找字段。对于那些有多个用户(Type="UserMulti")的字段呢?如何获取所有用户的姓名?
    • 个人资料图片是否是使用此扩展查询检索到的元数据的一部分?我没有看到关于属于 SP.Data.UserInfoItem 对象的字段的任何 Microsoft 文档。
    【解决方案2】:

    您可以使用以下其余查询来获取用户标题的修改: /_api/web/lists/getbytitle('Pages')/items(1)?$select=Editor/Name,Editor/Title&$expand=Editor/Id

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 2018-06-12
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 1970-01-01
      • 2016-04-24
      • 2015-01-09
      相关资源
      最近更新 更多