首页 > 解决方案 > 如何使用 REST 按标题获取 Sharepoint 用户?

问题描述

我正在尝试使用“姓氏,名字”在 Sharepoint 网站上搜索给定用户。我能够使用以下 url 将站点用户的总列表作为大型 XML 文档获取:

https://thissite.com/sites/thatsite/_api/web/siteusers/

但是,我无法弄清楚如何按标题搜索。当我使用以下网址时:

https://thissite.com/sites/thatsite/_api/web/siteusers/getbytitle(“lastname,%20firstname”)

我收到此错误:

<m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<m:code>
-1, Microsoft.SharePoint.Client.InvalidClientQueryException
</m:code>
<m:message xml:lang="en-US">
The expression "web/siteusers/getbytitle("lastname, firstname")" is not valid.
</m:message>
</m:error>

当我使用以下 url 获取相同用户的数据时:

https://thissite.com/sites/thatsite/_api/web/siteusers/getbyid(41)

然后我成功地获得了与该用户数据一起返回的 XML。

我想我可以解析从中获得的列表/siteusers并将其加载到可搜索的数据对象中,但我希望得到更直接的东西。

标签: restsharepoint-2013sharepoint-api

解决方案


UserCollection资源不公开getbytitle方法,这就是你得到这个异常的原因。

为了按标题过滤用户,您可以使用$filter查询选项,如下所示:

https://contoso.sharepoint.com/_api/web/siteusers?$filter=Title eq '<Title>'

推荐阅读