Schritt 2: Abrufen eines AuthentifizierungszugriffstokensStep 2: Get an authentication access token

Dieser Artikel ist der zweite Schritt in der Reihe Push data into a Power BI dataset (Übertragen von Daten in ein Power BI-Dataset mithilfe von Push).This article is the second step in the series Push data into a Power BI dataset.

In Schritt 1 haben Sie eine Client-App in Azure AD registriert.In step 1, you registered a client app in Azure AD. In diesem Schritt rufen Sie ein Authentifizierungszugriffstoken ab.In this step, you get an authentication access token. Power BI-Apps sind in Azure Active Directory integriert, um eine sichere Anmeldung und Autorisierung bei Ihrer App zu ermöglichen.Power BI apps are integrated with Azure Active Directory to provide your app with secure sign in and authorization. Ihre App verwendet ein Token für die Authentifizierung bei Azure AD und den Zugriff auf Power BI-Ressourcen.Your app uses a token to authenticate to Azure AD and gain access to Power BI resources.

Abrufen eines AuthentifizierungszugriffstokensGet an authentication access token

Bevor Sie beginnen, sollten Sie sicherstellen, dass Sie den vorherigen Schritt der Reihe Push data into a Power BI dataset (Übertragen von Daten in ein Power BI-Dataset mithilfe von Push) abgeschlossen haben.Before starting, make sure you've completed the previous step in the Push data into a Power BI dataset series.

Für dieses Verfahren ist Visual Studio 2015 oder eine höhere Version erforderlich.This procedure requires Visual Studio 2015 or later.

  1. Erstellen Sie in Visual Studio ein neues C#-Projekt des Typs Konsolenanwendung.In Visual Studio, create a new C# Console Application project.

  2. Installieren Sie das NuGet-Paket mit der Azure AD-Authentifizierungsbibliothek für .NET.Install the Azure AD Authentication Library for .NET NuGet package. Ihre .NET-App benötigt dieses Paket, um ein Authentifizierungssicherheitstoken abzurufen.Your .Net app needs this package to get an authentication security token.

    a.a. Klicken Sie auf Tools > NuGet-Paket-Manager > Paket-Manager-Konsole.Select Tools > NuGet Package Manager > Package Manager Console.

    b.b. Geben Sie Install-Package „Microsoft.IdentityModel.Clients.ActiveDirectory – Version 2.21.301221612“ ein.Enter Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 2.21.301221612

    c.c. Fügen Sie der „Program.cs“-Datei using Microsoft.IdentityModel.Clients.ActiveDirectory; hinzu.In Program.cs, add using Microsoft.IdentityModel.Clients.ActiveDirectory;.

  3. Fügen Sie der „Program.cs“-Datei den im Folgenden aufgeführten Beispielcode hinzu.Add the sample code listed after these steps to Program.cs.

  4. Ersetzen Sie „{ClientID}“ durch die Client-ID, die Sie in den vorherigen Schritten beim Registrieren der App erhalten haben.Replace "{ClientID}", with the Client ID you got in the previous series article when you registered your app.

  5. Führen Sie die Konsolen-App aus, und melden Sie sich bei Ihrem Power BI-Konto an.Run your console app and sign in to your Power BI account.

    Im Konsolenfenster sollte eine Tokenzeichenfolge angezeigt werden.A token string should appear in the console window.

Beispielcode zum Abrufen des AuthentifizierungssicherheitstokensSample code to get authentication security token

Fügen Sie diesen Code „Program {...}“ hinzu.Add this code to Program {...}.

  • Eine Tokenvariable zum Aufrufen von Vorgängen:A token variable to call operations:

    private static string token = string.Empty;
    
    static void Main(string[] args)
    {
    }
    
  • In „static void Main(string[]args)“:In static void Main(string[] args):

    static void Main(string[] args)
    {
      //Get an authentication access token
      token = GetToken();
    }
    
  • Eine „GetToken()“-Methode hinzu:Add a GetToken() method:

       #region Get an authentication access token
       private static async Task<string> GetToken()
       {
           // TODO: Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 2.21.301221612
           // and add using Microsoft.IdentityModel.Clients.ActiveDirectory

           //The client id that Azure AD created when you registered your client app.
           string clientID = "{Client_ID}";

           //RedirectUri you used when you register your app.
           //For a client app, a redirect uri gives Azure AD more details on the application that it will authenticate.
           // You can use this redirect uri for your client app
           string redirectUri = "https://login.live.com/oauth20_desktop.srf";

           //Resource Uri for Power BI API
           string resourceUri = "https://analysis.windows.net/powerbi/api";

           //OAuth2 authority Uri
           string authorityUri = "https://login.microsoftonline.net/common/";

           //Get access token:
           // To call a Power BI REST operation, create an instance of AuthenticationContext and call AcquireToken
           // AuthenticationContext is part of the Active Directory Authentication Library NuGet package
           // To install the Active Directory Authentication Library NuGet package in Visual Studio,
           //  run "Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory" from the nuget Package Manager Console.

           // AcquireToken will acquire an Azure access token
           // Call AcquireToken to get an Azure token from Azure Active Directory token issuance endpoint
           AuthenticationContext authContext = new AuthenticationContext(authorityUri);
           var token = authContext.AcquireTokenAsync(resourceUri, clientID, new Uri(redirectUri)).Result.AccessToken;

           Console.WriteLine(token);
           Console.ReadLine();

           return token;
       }

       #endregion

Nach dem Abruf eines Authentifizierungstokens können Sie sämtliche Power BI-Vorgänge aufrufen.After you get an authentication token, you can call any Power BI operation.

Im nächsten Artikel dieser Reihe wird das Erstellen eines Datasets in Power BI erläutert.The next article in this series shows you how to Create a dataset in Power BI.

Vollständige CodelisteComplete code listing

using System;
using Microsoft.IdentityModel.Clients.ActiveDirectory;

namespace walkthrough_push_data
{
    class Program
    {
        private static string token = string.Empty;

        static void Main(string[] args)
        {

            //Get an authentication access token
            token = GetToken();

        }

        #region Get an authentication access token
        private static async Task<string> GetToken()
        {
            // TODO: Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 2.21.301221612
            // and add using Microsoft.IdentityModel.Clients.ActiveDirectory

            //The client id that Azure AD created when you registered your client app.
            string clientID = "{Client_ID}";

            //RedirectUri you used when you register your app.
            //For a client app, a redirect uri gives Azure AD more details on the application that it will authenticate.
            // You can use this redirect uri for your client app
            string redirectUri = "https://login.live.com/oauth20_desktop.srf";

            //Resource Uri for Power BI API
            string resourceUri = "https://analysis.windows.net/powerbi/api";

            //OAuth2 authority Uri
            string authorityUri = "https://login.microsoftonline.com/common/";

            //Get access token:
            // To call a Power BI REST operation, create an instance of AuthenticationContext and call AcquireToken
            // AuthenticationContext is part of the Active Directory Authentication Library NuGet package
            // To install the Active Directory Authentication Library NuGet package in Visual Studio,
            //  run "Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory" from the nuget Package Manager Console.

            // AcquireToken will acquire an Azure access token
            // Call AcquireToken to get an Azure token from Azure Active Directory token issuance endpoint
            AuthenticationContext authContext = new AuthenticationContext(authorityUri);
            var token = authContext.AcquireTokenAsync(resourceUri, clientID, new Uri(redirectUri)).Result.AccessToken;

            Console.WriteLine(token);
            Console.ReadLine();

            return token;
        }

        #endregion

    }
}

Weitere SchritteNext steps

Weitere Fragen?More questions? Wenden Sie sich an die Power BI-CommunityTry the Power BI Community