Criar um cliente do Microsoft Graph

O cliente do Microsoft Graph foi projetado para tornar simples fazer chamadas para o Microsoft Graph. Você pode usar uma única instância do cliente para o tempo de vida do aplicativo. Para obter informações sobre como adicionar e instalar o pacote cliente do Microsoft Graph em seu projeto, consulte Instalar o SDK.

Os exemplos de código a seguir mostram como criar uma instância de um cliente do Microsoft Graph com um provedor de autenticação nos idiomas com suporte. O provedor de autenticação manipula a aquisição de tokens de acesso para o aplicativo.

Muitos provedores de autenticação diferentes estão disponíveis para cada idioma e plataforma. Os diferentes provedores de autenticação dão suporte a diferentes cenários de cliente. Para obter detalhes sobre qual provedor e opções são apropriados para seu cenário, consulte Escolher um Provedor de Autenticação.

A ID do cliente é a ID de registro do aplicativo gerada quando você registra seu aplicativo no portal do Azure.

var scopes = new[] { "User.Read" };

// Multi-tenant apps can use "common",
// single-tenant apps must use the tenant ID from the Azure portal
var tenantId = "common";

// Value from app registration
var clientId = "YOUR_CLIENT_ID";

// using Azure.Identity;
var options = new DeviceCodeCredentialOptions
{
    AuthorityHost = AzureAuthorityHosts.AzurePublicCloud,
    ClientId = clientId,
    TenantId = tenantId,
    // Callback function that receives the user prompt
    // Prompt contains the generated device code that user must
    // enter during the auth process in the browser
    DeviceCodeCallback = (code, cancellation) =>
    {
        Console.WriteLine(code.Message);
        return Task.FromResult(0);
    },
};

// https://learn.microsoft.com/dotnet/api/azure.identity.devicecodecredential
var deviceCodeCredential = new DeviceCodeCredential(options);

var graphClient = new GraphServiceClient(deviceCodeCredential, scopes);