Chiamare l'API Microsoft Graph da un'app AndroidCall the Microsoft Graph API from an Android app

Questa guida dimostra come un'applicazione Android 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 Android 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.

Come interpretare questo esempioHow this sample works

Come interpretare questo esempio

L'esempio creato in questa guida si basa su uno scenario in cui viene usata un'applicazione Android per eseguire query su un'API Web che accetta token dall'endpoint di Azure Active Directory v2, in questo caso l'API Microsoft Graph.The sample created by this guide is based on a scenario where an Android application is used to query a Web API that accepts tokens from Azure Active Directory v2 endpoint – in this case, Microsoft Graph API. 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).

PrerequisitiPre-requisites

  • Questa installazione guidata è basata su Android Studio, ma è accettabile anche qualsiasi altro ambiente di sviluppo di applicazioni Android.This guided setup is focused on Android Studio, but any other Android application development environment is also acceptable.
  • È necessario Android SDK 21 o versione successiva (è consigliato SDK 25).Android SDK 21 or newer is required (SDK 25 is recommended).
  • Per questa versione di Microsoft Authentication Library (MSAL) per Android è necessario Google Chrome o un Web browser che usa schede personalizzate.Google Chrome or a web browser using Custom Tabs is required for this release of Microsoft Authentication Library (MSAL) for Android.

Nota: Google Chrome non è incluso in Visual Studio Emulator for Android.Note: Google Chrome is not included on Visual Studio Emulator for Android. È consigliabile testare questo codice in un emulatore con API 25 o in un'immagine con API 21 o versione successiva in cui è installato Google Chrome.We recommend you to test this code on an Emulator with API 25 or an image with API 21 or newer that has with Google Chrome installed.

Come gestire l'acquisizione dei token per accedere a un'API Web protettaHow to handle token acquisition to access a protected Web API

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.

LibrerieLibraries

Questa guida usa le librerie seguenti:This guide uses the following libraries:

LibreriaLibrary DescrizioneDescription
com.microsoft.identity.clientcom.microsoft.identity.client Microsoft Authentication Library (MSAL)Microsoft Authentication Library (MSAL)