我正在尝试从将添加到SharePoint页面的Silverlight应用程序遍历SharePoint 2010中的所有用户配置文件。根据我所学到的,用户配置文件服务与SharePoint网站的用户列表不同,用户列表是网站的“成员”或曾经访问过的网站。要获取该用户列表,请参阅this question。
我了解SharePoint 2010在mysite.com/_vti_bin/UserProfileService.asmx
提供的asmx Web服务,但似乎没有像GetAllUserProfiles方法那样的东西。我可以得到的最接近的是通过连续调用GetUserProfileByIndex
方法迭代所有用户,但这远非最优。
是否有办法通过内置的Sharepoint 2010 REST-ful服务访问用户配置文件,例如为mysite.com/_vti_bin/listdata.svc/Links
的网站链接提供的内容?如果没有,您建议采用什么方法来获取SharePoint 2010中的所有现有用户配置文件?
编辑:
这样做的目的是在Silverlight控件中提供摘要配置文件信息。例如,显示在其个人资料中设置了最多“兴趣”的用户个人资料。只有遍历所有用户配置文件才能执行此任务。
答案 0 :(得分:3)
您确定要通过网络服务执行此操作吗?获取用户的所有链接意味着20个简单的URL。获取所有用户配置文件意味着20,000个大型复杂对象。
迭代所有配置文件是我在导入代码中所做的事情,但除此之外我无法想到使用搜索没有意义的场景 - 尤其是涉及用户交互时。