Я искал похожую идею, и эта тема была чрезвычайно полезна.На самом деле у них есть пример веб-сервиса, использующий PInvoke, он может помочь вам туда добраться.
Редактировать: мой поиск привел меня к этому другому посту Wictor Wilen , нопытаясь пока избежать ClientOM.
Edit2: хорошо, все заработало.Используя код из Wictor выше, я скачал его пример решения и переместил «MsOnlineClaimsHelper.cs» и «WcfClientContracts.cs» в свой проект, позже я буду использовать то, что действительно используется из этих файлов.Я только изменил их, чтобы удалить ссылки ClientOM, включая метод clientContext_ExecutingWebRequest.
В примере приложения MVC3 или приложения консоли:
MsOnlineClaimsHelper claimsHelper = new MsOnlineClaimsHelper("https://my365site.sharepoint.com/sites/enterprise/", "admin@my365site.onmicrosoft.com", "secret");
using (var lists = new SharePointLists.Lists())
{
lists.Url = @"https://my365site.sharepoint.com/sites/enterprise/_vti_bin/lists.asmx";
lists.CookieContainer = claimsHelper.CookieContainer;
var listCol = lists.GetListCollection();
ViewBag.Message = listCol.InnerXml;
//Console.Write(listCol.InnerXml);
}