我需要通過Web服務將用戶添加到SharePoint網站(WSS 3.0)。將用戶添加到SharePoint的Web服務(如SPWeb.EnsureUser)
使用API我會使用SPWeb.EnsureUser方法,但我無法在服務器上運行自己的代碼。
我希望Users and Groups Web Service可以幫助,但它不提供一個合適的方法。
那麼,是否有一個Web服務等同於SPWeb.EnsureUser?
我需要通過Web服務將用戶添加到SharePoint網站(WSS 3.0)。將用戶添加到SharePoint的Web服務(如SPWeb.EnsureUser)
使用API我會使用SPWeb.EnsureUser方法,但我無法在服務器上運行自己的代碼。
我希望Users and Groups Web Service可以幫助,但它不提供一個合適的方法。
那麼,是否有一個Web服務等同於SPWeb.EnsureUser?
昨天我偶然發現了這個問題。事實上,Web服務相當於web.EnsureUser
,但它不在UserGroup Web服務中。改爲使用ResolvePrincipals
方法的人網絡服務(_vti_bin/people.asmx)。
Here is the Microsoft documentation。
關鍵是要輸入true
的值爲addToUserInfoList
。由服務調用返回的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'方法](http://msdn.microsoft.com/en-us/ library/people.people.searchprincipals%28v = office.12%29.aspx)以確定委託人是否已添加到網站集中。檢查['PrincipalInfo.UserInfoID'](http://msdn.microsoft.com/en-us/library/people.principalinfo%28v=office.12%29.aspx)將返回大於-1的值(如果主體已被添加到網站集用戶中。 – SliverNinja 2014-05-07 17:02:04