如何使用 REST 按标题获取 Sharepoint 用户?

How to get Sharepoint user by Title using REST?

我正在尝试使用 "lastname, firstname" 在 Sharepoint 网站上搜索指定用户。我能够使用以下 url 获取网站用户的总列表作为一个大型 XML 文档:

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

但是,我一直想不出如何按标题搜索。当我使用以下 url:

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 获得的列表并将其加载到可搜索数据中 object,但我希望得到更直接的东西。

UserCollection resource 没有公开 getbytitle 方法,这就是你得到这个异常的原因。

为了按标题过滤用户,您可以使用$filter query option,如下所示:

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