Я зарегистрировал приложение для этого на портале Azure следующим образом: p>
[*]Зарегистрируйте приложение (одиночный клиент)
[*]Разрешения API -> Добавить разрешение -> SharePoint -> Разрешения приложения -> Sites.FullControl.All
[*]Предоставить подтверждение согласия администратора.
[*]Сертификаты и секреты -> Добавить секрет клиента
< /ol>
Код выглядит следующим образом:
Код: Выделить всё
using Microsoft.Identity.Client;
using Microsoft.SharePoint.Client;
string siteUrl = "https://myname.sharepoint.com/sites/sharepointwebsite/";
string clientId = "XXX";
string tenantId = "XXX";
string clientSecret = "XXX";
var confidentialClientApp = ConfidentialClientApplicationBuilder.Create(clientId)
.WithTenantId(tenantId)
.WithClientSecret(clientSecret)
.Build();
var authResult = await confidentialClientApp.AcquireTokenForClient(new[] { "https://myname.sharepoint.com/.default" }).ExecuteAsync();
using (var context = new ClientContext(siteUrl))
{
context.ExecutingWebRequest += (sender, e) =>
{
e.WebRequestExecutor.RequestHeaders["Authorization"] = "Bearer " + authResult.AccessToken;
};
Web web = context.Web;
context.Load(web);
context.ExecuteQuery();
Console.WriteLine("Title: " + web.Title);
}
Какой шаг (разрешения) я мог забыть?
Большое спасибо за помощь.
Подробнее здесь: https://stackoverflow.com/questions/792 ... graph-oaut
Мобильная версия