Quickstart: De Microsoft Graph-API aanroepen vanuit de Universeel Windows-platformtoepasing (UWP)Quickstart: Call the Microsoft Graph API from a Universal Windows Platform (UWP) application

In deze quickstart downloadt u een codevoorbeeld en voert u dit uit. Het codevoorbeeld laat zien hoe gebruikers kunnen worden aangemeld met een UWP-toepassing (Universeel Windows-platform), en een toegangstoken kunnen krijgen om de Microsoft Graph API aan te roepen.In this quickstart, you download and run a code sample that demonstrates how a Universal Windows Platform (UWP) application can sign in users and get an access token to call the Microsoft Graph API.

Zie Hoe het voorbeeld werkt voor een illustratie.See How the sample works for an illustration.

VereistenPrerequisites

De quickstart-app registreren en downloadenRegister and download your quickstart app

U hebt twee opties voor het starten van de snelstarttoepassing:You have two options to start your quickstart application:

Optie 1: registreer de toepassing en laat deze automatisch configureren. Download vervolgens het codevoorbeeldOption 1: Register and auto configure your app and then download your code sample

  1. Ga naar de quickstart-ervaring Azure-portal - App-registraties.Go to the Azure portal - App registrations quickstart experience.
  2. Voer een naam in voor de toepassing en selecteer Registreren.Enter a name for your application and select Register.
  3. Volg de instructies om de nieuwe toepassing met slechts één klik te downloaden en automatisch te configureren.Follow the instructions to download and automatically configure your new application for you in one click.

Optie 2: registreer de toepassing en configureer handmatig de toepassing en het codevoorbeeldOption 2: Register and manually configure your application and code sample

Stap 1: Uw toepassing registrerenStep 1: Register your application

Volg deze stappen om de toepassing te registreren en de registratiegegevens van de app toe te voegen aan de oplossing:To register your application and add the app's registration information to your solution, follow these steps:

  1. Meld u aan bij de Azure-portal.Sign in to the Azure portal.
  2. Als u toegang hebt tot meerdere tenants, gebruikt u het filter Directory + abonnement in het bovenste menu om de tenant te selecteren waarin u een toepassing wilt registreren.
  3. Zoek en selecteer de optie Azure Active Directory.Search for and select Azure Active Directory.
  4. Selecteer onder Beheren de optie App-registraties > Nieuwe registratie.Under Manage, select App registrations > New registration.
  5. Voer een Naam in voor de toepassing.Enter a Name for your application, for example UWP-App-calling-MsGraph. Gebruikers van uw app kunnen de naam zien. U kunt deze later wijzigen.Users of your app might see this name, and you can change it later.
  6. Selecteer in de sectie Ondersteunde accounttypen de optie Accounts in alle organisatiemappen en persoonlijke Microsoft-accounts (bijvoorbeeld Skype, Xbox, Outlook.com.In the Supported account types section, select Accounts in any organizational directory and personal Microsoft accounts (for example, Skype, Xbox, Outlook.com).
  7. Selecteer Registreren om de toepassing te maken en noteer vervolgens de Toepassings(client)-id die u in een latere stap gebruikt.Select Register to create the application, and then record the Application (client) ID for use in a later step.
  8. Selecteer Verificatie onder Beheren.Under Manage, select Authentication.
  9. Selecteer Een platform toevoegen > Mobiele en desktoptoepassingen.Select Add a platform > Mobile and desktop applications.
  10. Selecteer https://login.microsoftonline.com/common/oauth2/nativeclient onder Omleidings-URI's.Under Redirect URIs, select https://login.microsoftonline.com/common/oauth2/nativeclient.
  11. Selecteer Configureren.Select Configure.

Stap 1: De toepassing configurerenStep 1: Configure the application

Voor het code voorbeeld in deze Snelstartgids werkt u een omleidings-URI van toe https://login.microsoftonline.com/common/oauth2/nativeclient .For the code sample in this quickstart to work, add a Redirect URI of https://login.microsoftonline.com/common/oauth2/nativeclient.

Al geconfigureerd Uw toepassing is al geconfigureerd met deze kenmerken.Already configured Your application is configured with these attributes.

Stap 2: Download het Visual Studio-projectStep 2: Download the Visual Studio project

Voer het project uit met Visual Studio 2019.Run the project using Visual Studio 2019.

Tip

Om fouten te voor komen die worden veroorzaakt door beperkingen van padlengte in Windows, raden we u aan het archief op te halen of de opslag plaats te klonen in een directory in de hoofdmap van uw station.To avoid errors caused by path length limitations in Windows, we recommend extracting the archive or cloning the repository into a directory near the root of your drive.

Stap 3: Uw app is geconfigureerd en klaar om te worden uitgevoerdStep 3: Your app is configured and ready to run

Uw project is geconfigureerd met waarden van de eigenschappen van uw app en is klaar om te worden uitgevoerd.We have configured your project with values of your app's properties and it's ready to run.

Notitie

Enter_the_Supported_Account_Info_Here

Stap 3: Het Visual Studio-project configurerenStep 3: Configure the Visual Studio project

  1. Pak het zip-archief uit in een lokale map in de buurt van de hoofdmap van uw station.Extract the .zip archive to a local folder close to the root of your drive. Bijvoorbeeld in C:\Azure-Samples.For example, into C:\Azure-Samples.

  2. Open het project in Visual Studio.Open the project in Visual Studio. Installeer de Universeel Windows-platform-ontwikkeling-werkbelasting en eventuele afzonderlijke SDK-onderdelen, als u hierom wordt gevraagd.Install the Universal Windows Platform development workload and any individual SDK components if prompted.

  3. Wijzig in MainPage.Xaml.cs de waarde van de variabele ClientId naar de Toepassings(client)-id van de toepassing die u eerder hebt geregistreerd.In MainPage.Xaml.cs, change the value of the ClientId variable to the Application (Client) ID of the application you registered earlier.

    private const string ClientId = "Enter_the_Application_Id_here";
    

    U kunt de Toepassings(client)-id vinden in het deelvenster Overzicht van de app in het de Azure-portal (Azure Active Directory > App-registraties > {Uw app-registratie} ).You can find the Application (client) ID on the app's Overview pane in the Azure portal (Azure Active Directory > App registrations > {Your app registration}).

  4. Maak en selecteer vervolgens een nieuw zelfondertekend testcertificaat voor het pakket:Create and then select a new self-signed test certificate for the package:

    1. Dubbelklik in de Solution Explorer op het bestand Package.appxmanifest.In the Solution Explorer, double-click the Package.appxmanifest file.
    2. Selecteer Verpakken > Certificaat kiezen... > Maken... .Select Packaging > Choose Certificate... > Create....
    3. Voer een wachtwoord in en selecteer OK.Enter a password and then select OK.
    4. Selecteer Selecteren uit bestand... , en selecteer vervolgens het bestand Native_UWP_V2_TemporaryKey.pfx dat u zojuist hebt gemaakt en selecteer OK.Select Select from file..., and then select the Native_UWP_V2_TemporaryKey.pfx file you just created, and select OK.
    5. Sluit het bestand Package.appxmanifest (selecteer OK als u wordt gevraagd het bestand op te slaan).Close the Package.appxmanifest file (select OK if prompted to save the file).
    6. Klik in de Solution Explorer met de rechtermuisknop op het project Native_UWP_V2 en selecteer Eigenschappen.In the Solution Explorer, right-click the Native_UWP_V2 project and select Properties.
    7. Selecteer Ondertekenen en selecteer vervolgens het pfx-bestand dat u hebt gemaakt in de vervolgkeuzelijst Kies een sleutel met een sterke naam.Select Signing, and then select the .pfx you created in the Choose a strong name key file drop-down.

Stap 4: De toepassing uitvoerenStep 4: Run the application

Om de voorbeeldtoepassing uit te voeren op uw lokale computer:To run the sample application on your local machine:

  1. Kies op de werkbalk van Visual Studio het juiste platform (waarschijnlijk x64 of x86, niet ARM).In the Visual Studio toolbar, choose the right platform (probably x64 or x86, not ARM). Het doelapparaat moet worden gewijzigd van Apparaat naar Lokale machine.The target device should change from Device to Local Machine.

  2. Selecteer Fouten opsporen > Starten zonder foutopsporing.Select Debug > Start Without Debugging.

    Als u hierom wordt gevraagd, moet u mogelijk eerst Ontwikkelaarsmodus inschakelen en vervolgens opnieuw Starten zonder foutopsporing om de app te starten.If you're prompted to do so, you might first need to enable Developer Mode, and then Start Without Debugging again to launch the app.

Wanneer het venster van de app wordt weergegeven, kunt u de knop Microsoft Graph-API aanroepen selecteren, uw referenties invoeren en akkoord gaan met de machtigingen die door de toepassing worden aangevraagd.When the app's window appears, you can select the Call Microsoft Graph API button, enter your credentials, and consent to the permissions requested by the application. Als dit lukt, worden in de toepassing bepaalde tokengegevens en andere gegevens weergegeven die zijn verkregen van de aanroep van de Microsoft Graph-API.If successful, the application displays some token information and data obtained from the call to the Microsoft Graph API.

Hoe het voorbeeld werktHow the sample works

Toont hoe de voorbeeld-app werkt die is gegenereerd door deze quickstart

MSAL.NETMSAL.NET

MSAL (Microsoft.Identity.Client) is de bibliotheek die wordt gebruikt om gebruikers aan te melden en beveiligingstokens aan te vragen.MSAL (Microsoft.Identity.Client) is the library used to sign in users and request security tokens. De beveiligings tokens worden gebruikt om toegang te krijgen tot een API die wordt beveiligd door het micro soft Identity-platform.The security tokens are used to access an API protected by the Microsoft Identity platform. U kunt MSAL installeren door de volgende opdracht uit te voeren in Package Manager Console van Visual Studio:You can install MSAL by running the following command in Visual Studio's Package Manager Console:

Install-Package Microsoft.Identity.Client

MSAL initialiserenMSAL initialization

U kunt de verwijzing voor MSAL toevoegen door de volgende code toe te voegen:You can add the reference for MSAL by adding the following code:

using Microsoft.Identity.Client;

Vervolgens wordt MSAL geïnitialiseerd met de volgende code:Then, MSAL is initialized using the following code:

public static IPublicClientApplication PublicClientApp;
PublicClientApp = PublicClientApplicationBuilder.Create(ClientId)
                                                .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
                                                    .Build();

De waarde van ClientId is de Toepassings(client)-id voor de toepassing die u hebt geregistreerd in de Azure-portal.The value of ClientId is the Application (client) ID of the app you registered in the Azure portal. U vindt deze waarde op de pagina Overzicht in de Azure-portal.You can find this value in the app's Overview page in the Azure portal.

Tokens aanvragenRequesting tokens

MSAL biedt twee methoden om tokens in een UWP-app te verkrijgen: AcquireTokenInteractive en AcquireTokenSilent.MSAL has two methods for acquiring tokens in a UWP app: AcquireTokenInteractive and AcquireTokenSilent.

Een gebruikerstoken interactief ophalenGet a user token interactively

In sommige situaties moeten gebruikers met het micro soft-identiteits platform communiceren via een pop-upvenster om hun referenties te valideren of om toestemming te geven.Some situations require forcing users to interact with the Microsoft identity platform through a popup window to either validate their credentials or to give consent. Voorbeelden zijn:Some examples include:

  • De eerste keer dat gebruikers zich aanmelden bij de toepassingThe first-time users sign in to the application
  • Wanneer gebruikers mogelijk hun referenties opnieuw moeten opgeven omdat het wachtwoord is verlopenWhen users may need to reenter their credentials because the password has expired
  • Wanneer via de toepassing toegang wordt aangevraagd tot een resource waarvoor de gebruiker toestemming moet gevenWhen your application is requesting access to a resource, that the user needs to consent to
  • Wanneer tweeledige verificatie is vereistWhen two factor authentication is required
authResult = await App.PublicClientApp.AcquireTokenInteractive(scopes)
                      .ExecuteAsync();

De parameter scopes bevat de bereiken die worden aangevraagd, zoals { "user.read" } voor Microsoft Graph of { "api://<Application ID>/access_as_user" } voor aangepaste web-API's.The scopes parameter contains the scopes being requested, such as { "user.read" } for Microsoft Graph or { "api://<Application ID>/access_as_user" } for custom web APIs.

Een gebruikerstoken op de achtergrond ophalenGet a user token silently

Gebruik de methode AcquireTokenSilent om tokens op te halen voor toegang tot beveiligde resources na de eerste methode AcquireTokenInteractive.Use the AcquireTokenSilent method to obtain tokens to access protected resources after the initial AcquireTokenInteractive method. U wilt niet dat de gebruiker telkens wanneer deze toegang nodig heeft tot een resource, de referenties moet laten valideren.You don’t want to require the user to validate their credentials every time they need to access a resource. In de meeste gevallen wilt u tokens ophalen en verlengen zonder tussenkomst van de gebruikerMost of the time you want token acquisitions and renewal without any user interaction

var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
  • scopes bevat de bereiken die worden aangevraagd, bijvoorbeeld { "user.read" } voor Microsoft Graph of { "api://<Application ID>/access_as_user" } voor aangepaste web-API's.scopes contains the scopes being requested, such as { "user.read" } for Microsoft Graph or { "api://<Application ID>/access_as_user" } for custom web APIs.
  • firstAccount geeft het eerste gebruikersaccount in de cache op (MSAL biedt ondersteuning voor meerdere gebruikers in één app).firstAccount specifies the first user account in the cache (MSAL supports multiple users in a single app).

Help en ondersteuningHelp and support

Als u hulp nodig hebt, een probleem wilt melden of meer informatie wilt over uw ondersteuningsopties, raadpleegt u Hulp en ondersteuning voor ontwikkelaars.If you need help, want to report an issue, or want to learn about your support options, see Help and support for developers.

Volgende stappenNext steps

Volg de zelfstudie voor Windows-bureaublad voor een volledige stapsgewijze handleiding voor het bouwen van toepassingen en nieuwe functies, waaronder een volledige uitleg van deze quickstart.Try out the Windows desktop tutorial for a complete step-by-step guide on building applications and new features, including a full explanation of this quickstart.