2010-03-30 4 views
4

Мне нужно добавить пользователя на сайт SharePoint (WSS 3.0) через веб-службу.Веб-сервис для добавления пользователей в SharePoint (например, SPWeb.EnsureUser)

Используя API, я бы использовал метод SPWeb.EnsureUser, но я не могу запустить свой собственный код на сервере.
Я надеялся, что Users and Groups Web Service может помочь, но он не дает подходящего метода.

Итак, существует ли веб-служба, эквивалентная SPWeb.EnsureUser?

ответ

7

Я наткнулся на этот вопрос вчера. На самом деле, есть эквивалент веб-службы web.EnsureUser, но он не находится в веб-сервисе UserGroup. Используйте метод ResolvePrincipals веб-службы (_vti_bin/people.asmx).

Here is the Microsoft documentation.

Ключ предназначен для подачи заявок в true на сумму addToUserInfoList. Объект PrincipalInfo, возвращаемый служебным вызовом, включает в себя UserInfoID, который вы можете использовать в других связанных с членством операциях на этом сайте.

Вот пример использования веб-службы из PowerShell 2.0:

$client = new-webserviceproxy http://mysharepointsite/_vti_bin/people.asmx?wsdl -usedefault 
$person = $client.ResolvePrincipals(@('domain\user'), 'User', $true) 
# ... 
+0

Вы также можете использовать [ 'метод SearchPrincipals'] (http://msdn.microsoft.com/en-us/ library/people.people.searchprincipals% 28v = office.12% 29.aspx), чтобы определить, добавлен ли принципал в семейство сайтов еще. Проверка ['PrincipialInfo.UserInfoID'] (http://msdn.microsoft.com/en-us/library/people.principalinfo%28v=office.12%29.aspx) вернет значение> -1, если основной уже добавлен к пользователям семейства сайтов. – SliverNinja