Как использовать учетные данные для подключения к списку SharePoint с помощью клиентской объектной модели?

Мне нужно написать приложение для обновления списка на сайте SharePoint 2010.

Я нашел "SPSite", который я могу создать с помощью URL, но я не могу понять, как указать, с каким пользователем я хочу подключиться.

Пользователь не является текущим пользователем Windows, и программа не выполняется на сервере.

Я видел возможность дать "SPUserToken", но в моем методе у меня есть только пользователь, домен и его пароль, так как я могу сгенерировать этого пользователя (и я думаю, что этот пользователь неизвестен в системе, выполняющей код, но известно на сервере).

Где я могу это указать?

Ответ 1

Поскольку вы используете объектную модель клиента, вы не будете работать с классом SPSite (который является частью объектной модели сервера).

Вместо этого вы должны создать экземпляр класса ClientContext и предоставить свои учетные данные для аутентификации через его метко названный Credentials. Затем вы можете использовать его для получения List объекта, который вы хотите обновить:

using System.Net;
using Microsoft.SharePoint.Client;

using (ClientContext context = new ClientContext("http://yourserver/")) {
    context.Credentials = new NetworkCredential("user", "password", "domain");
    List list = context.Web.Lists.GetByTitle("Some List");
    context.ExecuteQuery();

    // Now update the list.
}