- ClientId или ApplicationId
- TenantId
- Секретное значение
- Sites.FullControl.All
- Sites.ReadWrite.All
- Sites.Selected
System.Net.WebException: удаленный сервер возвратил ошибку: (401) Неавторизованный.
Получите токен и установите веб-запрос Заголовок
Код: Выделить всё
var app = ConfidentialClientApplicationBuilder.Create(_authData.ApplicationId)
.WithTenantId(_authData.TenantId)
.WithClientSecret(_authData.Password)
.Build();
var scope = new string[] { $"{_siteUrl.Scheme}://{_siteUrl.Host}/.default" };
var result = await app.AcquireTokenForClient(scope).ExecuteAsync();
_authData.AccessToken = result.AccessToken;
_clientContext.ExecutingWebRequest += (s, e) =>
{
e.WebRequestExecutor.RequestHeaders["Authorization"] = $"Bearer {_authData.AccessToken}";
};
Код: Выделить всё
_clientContext = new ClientContext(_siteUrl);
//Here is called the GetToken Method and set it to context requests
var documentFolder = _clientContext.Web.Lists.GetByTitle("Documents");
documentFolder.EnableFolderCreation = true;
_clientContext.RequestTimeout = RequestTimeout;
_clientContext.Load(documentFolder);
_clientContext.Load(documentFolder.RootFolder);
await _clientContext.ExecuteQueryAsync();
Подробнее здесь: https://stackoverflow.com/questions/797 ... app-throws
Мобильная версия