#c# #.net #sharepoint #sharepoint-online
Вопрос:
Я хотел бы подключить SharePoint Online к текущему пользователю в .NET с помощью единого входа. Я не хочу указывать имя пользователя и пароль в своем коде. К сожалению, у меня есть следующее сообщение об ошибке в ExecuteQuery() :
The remote server returned an error: (403) FORBIDDEN
Мой код :
string siteCollectionUrl = "https://xxx.sharepoint.com/teams/yyyy";
System.Net.ICredentials credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
SharePoint.ClientContext context = new SharePoint.ClientContext(siteCollectionUrl);
context.Credentials = credentials;
SharePoint.Web web = context.Web;
context.Load(web);
context.ExecuteQuery();
string tt = web.Title;
У тебя есть идея ?
Заранее спасибо
Ответ №1:
Вы должны использовать класс SharePointOnlineCredentials для аутентификации.
Подобный этому:
String name = "user@xxx.onmicrosoft.com";
String password = "xxxx";
SecureString securePassword = new SecureString();
foreach (char c in password.ToCharArray())
{
securePassword.AppendChar(c);
}
var credentials = new SharePointOnlineCredentials(name, securePassword);
string siteCollectionUrl = "https://xxx.sharepoint.com/teams/yyyy";
ClientContext ctx = new ClientContext(siteCollectionUrl );
ctx.Credentials = credentials;
Комментарии:
1. Спасибо за ваш ответ. Но мне нужно подключиться к SharePoint Online с пользователем, который запускает программу, путем входа в систему. Я не хочу указывать имя пользователя и пароль в своем коде. Я просто изменяю свой вопрос, чтобы быть более ясным.