有没有办法通过REST检索站点用户/组列表,类似于如何使用listdata.svc获取列表数据?我想获取网站上所有用户和组的列表,以便我可以输入用户输入名称的输入(来自John Smith),然后我可以将该名称映射到相关用户ID(来自John Smith&# 39; s ID:3)在将更新推送到列表项时使用,因为您必须使用此ID。
答案 0 :(得分:1)
答案是肯定的。这是使用休息的代码。
仅限群组:
[Site]/_vti_bin/Listdata.svc/UserInformationList?$filter=substringof('SharePointGroup',ContentType) eq true
仅限人物:
[Site]/_vti_bin/Listdata.svc/UserInformationList?$filter=substringof('Person',ContentType) eq true
这两种:
[Site]/_vti_bin/Listdata.svc/UserInformationList
使用这些方法中的任何一种,您都可以获得id和更多
<m:properties>
<d:ContentTypeID>0x010....</d:ContentTypeID>
<d:Name>Doe, John</d:Name>
<d:Account>ABC\john.doe</d:Account>
<d:WorkEMail>jd@abc.com</d:WorkEMail>
<d:MobilePhone m:null="true" />
<d:AboutMe m:null="true" />
<d:SIPAddress m:null="true" />
<d:IsSiteAdmin m:type="Edm.Boolean">false</d:IsSiteAdmin>
<d:Deleted m:type="Edm.Boolean">false</d:Deleted>
<d:Picture m:null="true" />
<d:Department m:null="true" />
<d:Title m:null="true" />
<d:FirstName>John</d:FirstName>
<d:LastName>Doe</d:LastName>
<d:UserName>John.Doe</d:UserName>
<d:WebSite m:null="true" />
<d:AskMeAbout m:null="true" />
<d:WorkPhone>8885551212</d:WorkPhone>
<d:Office m:null="true" />
<d:Unit m:null="true" />
<d:Id m:type="Edm.Int32">2</d:Id>
<d:ContentType>Person</d:ContentType>
<d:Modified m:type="Edm.DateTime">2016-09-27T00:00:19</d:Modified>
<d:Created m:type="Edm.DateTime">2013-10-17T12:13:59</d:Created>
<d:CreatedById m:type="Edm.Int32">3</d:CreatedById>
<d:ModifiedById m:type="Edm.Int32">1073741823</d:ModifiedById>
<d:Owshiddenversion m:type="Edm.Int32">217</d:Owshiddenversion>
<d:Version>1.0</d:Version>
<d:Path>/sites/test/_catalogs/users</d:Path>
</m:properties>