2. krok: Získání přístupového tokenu pro ověřeníStep 2: Get an authentication access token

Tento článek je druhým krokem v sérii Zápis dat do datové sady Power BI.This article is the second step in the series Push data into a Power BI dataset.

V kroku 1 jste zaregistrovali klientskou aplikaci ve službě Azure AD.In step 1, you registered a client app in Azure AD. V tomto kroku získáte přístupový token pro ověření.In this step, you get an authentication access token. Aplikace Power BI jsou integrované s Azure Active Directory, aby poskytovaly zabezpečené přihlašování a autorizaci pro vaši aplikaci.Power BI apps are integrated with Azure Active Directory to provide your app with secure sign in and authorization. K ověření v Azure AD a získání přístupu k prostředkům Power BI používá vaše aplikace token.Your app uses a token to authenticate to Azure AD and gain access to Power BI resources.

Získání přístupového tokenu pro ověřeníGet an authentication access token

Než začnete, ujistěte se, že jste dokončili předchozí krok v sérii Zápis dat do datové sady Power BI.Before starting, make sure you've completed the previous step in the Push data into a Power BI dataset series.

Tento postup vyžaduje Visual Studio 2015 nebo novější.This procedure requires Visual Studio 2015 or later.

  1. V sadě Visual Studio vytvořte nový projekt C# Konzolová aplikace.In Visual Studio, create a new C# Console Application project.

  2. Nainstalujte knihovnu ověřování Azure AD pro balíček NuGet rozhraní .NET.Install the Azure AD Authentication Library for .NET NuGet package. Aplikace .Net potřebuje tento balíček k získání tokenu zabezpečení ověřování.Your .Net app needs this package to get an authentication security token.

    a.a. Vyberte Nástroje > Správce balíčků NuGet > Konzola správce balíčků.Select Tools > NuGet Package Manager > Package Manager Console.

    b.b. Zadejte Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 2.21.301221612.Enter Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 2.21.301221612

    c.c. V souboru Program.cs přidejte using Microsoft.IdentityModel.Clients.ActiveDirectory;.In Program.cs, add using Microsoft.IdentityModel.Clients.ActiveDirectory;.

  3. Do souboru Program.cs přidejte ukázkový kód uvedený za tímto postupem.Add the sample code listed after these steps to Program.cs.

  4. {ClientID} nahraďte ID klienta, které jste získali v předchozím článku této série, když jste aplikaci registrovali.Replace "{ClientID}", with the Client ID you got in the previous series article when you registered your app.

  5. Spusťte konzolovou aplikaci a přihlaste se ke svému účtu Power BI.Run your console app and sign in to your Power BI account.

    V okně konzoly by se měl zobrazit řetězec tokenu.A token string should appear in the console window.

Ukázkový kód pro získání tokenu zabezpečení ověřováníSample code to get authentication security token

Tento kód vložte do Programu {...}.Add this code to Program {...}.

  • Proměnná tokenu, která volá operace:A token variable to call operations:

    private static string token = string.Empty;
    
    static void Main(string[] args)
    {
    }
    
  • Ve výrazu static void Main(string[] args):In static void Main(string[] args):

    static void Main(string[] args)
    {
      //Get an authentication access token
      token = GetToken();
    }
    
  • Přidejte metodu GetToken():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

Po získání tokenu ověřování můžete volat všechny operace Power BI.After you get an authentication token, you can call any Power BI operation.

Další článek v této sérii ukazuje postup Vytvoření datové sady v Power BI.The next article in this series shows you how to Create a dataset in Power BI.

Úplný výpis kóduComplete 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

    }
}

Další krokyNext steps

Máte další otázky?More questions? Zkuste se zeptat v komunitě Power BI.Try the Power BI Community