Код: Выделить всё
// The client credentials flow requires that you request the
// /.default scope, and preconfigure your permissions on the
// app registration in Azure. An administrator must grant consent
// to those permissions beforehand.
var scopes = new[] { "https://graph.microsoft.com/.default" };
// Multi-tenant apps can use "common",
// single-tenant apps must use the tenant ID from the Azure portal
var tenantId = "common";
// Values from app registration
var clientId = "YOUR_CLIENT_ID";
var clientSecret = "YOUR_CLIENT_SECRET";
// using Azure.Identity;
var options = new TokenCredentialOptions
{
AuthorityHost = AzureAuthorityHosts.AzurePublicCloud
};
// https://learn.microsoft.com/dotnet/api/azure.identity.clientsecretcredential
var clientSecretCredential = new ClientSecretCredential(
tenantId, clientId, clientSecret, options);
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);
РЕДАКТИРОВАТЬ: у меня есть несколько вопросов о регистрации приложения, поэтому я добавлю информацию, чтобы прояснить ситуацию.
Приложение зарегистрировано как мультитенантное приложение, и разрешение приложения установлено для «Sites.Selected». . Кроме того, в PowerShell были запущены команды для назначения правильного доступа к сайту SharePoint с использованием идентификатора приложения и идентификатора сайта/имени сайта. Дополнительные команды были выполнены для подтверждения правильного доступа.
Подробнее здесь: https://stackoverflow.com/questions/763 ... cess-token