Chiamare l'API Microsoft Graph da un'app Windows DesktopCall the Microsoft Graph API from a Windows Desktop app

Questa guida dimostra come un'applicazione .NET per Windows Desktop (XAML) nativa può ottenere un token di accesso e chiamare l'API Microsoft Graph o altre API che richiedono token di accesso dall'endpoint di Azure Active Directory v2.This guide demonstrates how a native Windows Desktop .NET (XAML) application can get an access token and call Microsoft Graph API or other APIs that require access tokens from Azure Active Directory v2 endpoint.

Al termine di questa guida, l'applicazione sarà in grado di chiamare un'API protetta usando sia account personali (ad esempio, outlook.com, live.com e altri) sia account aziendali o di istituti di istruzione di proprietà di aziende o organizzazioni con Azure Active Directory.At the end of this guide, your application will be able to call a protected API using personal accounts (including outlook.com, live.com, and others) as well as work and school accounts from any company or organization that has Azure Active Directory.

Questa guida richiede Visual Studio 2015 Update 3 o Visual Studio 2017.This guide requires Visual Studio 2015 Update 3 or Visual Studio 2017. Se non lo si ha, è possibileDon’t have it? scaricare Visual Studio 2017 gratuitamenteDownload Visual Studio 2017 for free

Come interpretare questa guidaHow this guide works

Come interpretare questa guida

L'applicazione di esempio creata in questa guida consente a un'applicazione per Windows Desktop di eseguire query nell'API Microsoft Graph o in un'API Web che accetta token dall'endpoint di Azure Active Directory v2.The sample application created by this guide enables a Windows Desktop Application to query Microsoft Graph API or a Web API that accepts tokens from Azure Active Directory v2 endpoint. Per questo scenario, viene aggiunto un token a richieste HTTP tramite l'intestazione di autorizzazione.For this scenario, a token is added to HTTP requests via the Authorization header. L'acquisizione e il rinnovo del token vengono gestiti da Microsoft Authentication Library (MSAL).Token acquisition and renewal is handled by the Microsoft Authentication Library (MSAL).

Gestione dell'acquisizione di token per l'accesso ad API Web protetteHandling token acquisition for accessing protected Web APIs

Dopo che l'utente ha eseguito l'autenticazione, l'applicazione di esempio riceve un token che può essere usato per eseguire query nell'API Microsoft Graph o in un'API Web protetta da Microsoft Azure Active Directory v2.After the user authenticates, the sample application receives a token that can be used to query Microsoft Graph API or a Web API secured by Microsoft Azure Active Directory v2.

API come Microsoft Graph richiedono un token di accesso per consentire l'accesso a risorse specifiche, ad esempio per leggere un profilo utente, accedere al calendario dell'utente o inviare un messaggio di posta elettronica.APIs such as Microsoft Graph require an access token to allow accessing specific resources – for example, to read a user’s profile, access user’s calendar or send an email. L'applicazione può richiedere un token di accesso usando la libreria MSAL per accedere alle risorse tramite la definizione di ambiti API.Your application can request an access token using MSAL to access these resources by specifying API scopes. Il token di accesso ottenuto viene quindi aggiunto all'intestazione di autorizzazione HTTP per ogni chiamata effettuata alla risorsa protetta.This access token is then added to the HTTP Authorization header for every call made against the protected resource.

La memorizzazione nella cache e l'aggiornamento dei token di accesso vengono gestiti dalla libreria MSAL e non devono quindi essere effettuati dall'applicazione.MSAL manages caching and refreshing access tokens for you, so your application doesn't need to.

Pacchetti NuGetNuGet Packages

Questa guida usa i pacchetti NuGet seguenti:This guide uses the following NuGet packages:

LibreriaLibrary DescrizioneDescription
Microsoft.Identity.ClientMicrosoft.Identity.Client Microsoft Authentication Library (MSAL)Microsoft Authentication Library (MSAL)