我需要通过Web服务向SharePoint网站(WSS 3.0)添加用户。
使用API,我将使用SPWeb.EnsureUser方法,但我无法在服务器上运行自己的代码。
我希望用户和组Web服务可以提供帮助,但它没有提供合适的方法。
那么,是否有Web服务等效于SPWeb.EnsureUser?
我需要通过Web服务向SharePoint网站(WSS 3.0)添加用户。
使用API,我将使用SPWeb.EnsureUser方法,但我无法在服务器上运行自己的代码。
我希望用户和组Web服务可以提供帮助,但它没有提供合适的方法。
那么,是否有Web服务等效于SPWeb.EnsureUser?
我昨天偶然发现了这个问题。事实上,有一个Web服务与web.EnsureUser
等效,但它不在UserGroup Web服务中。相反,使用People Web服务(_vti_bin/people.asmx)的ResolvePrincipals
方法。
关键是将addToUserInfoList
的值设置为true
。服务调用返回的PrincipalInfo
对象包括一个UserInfoID
,您可以在该站点上执行其他成员身份相关操作时使用它。
以下是使用PowerShell 2.0调用Web服务的示例:
$client = new-webserviceproxy http://mysharepointsite/_vti_bin/people.asmx?wsdl -usedefault
$person = $client.ResolvePrincipals(@('domain\user'), 'User', $true)
# ...
SearchPrincipals
方法来确定该主体是否已添加到站点集合中。检查PrincipalInfo.UserInfoID
将返回一个值> -1,如果该主体已经被添加到站点集合用户中。 - SliverNinja - MSFT