Paso 2: Obtener un token de acceso de autenticaciónStep 2: Get an authentication access token

Este artículo forma parte de un tutorial paso a paso para insertar datos en un conjunto de datos.This article is part of a step-by-step walkthrough to push data into a dataset.

En el paso 1 de Insertar datos en un conjunto de datos, Registrar la aplicación con Azure AD, registró una aplicación de cliente en Azure AD.In step 1 of Push data into a dataset, Register the app with Azure AD, you registered a client app in Azure AD. En este paso, obtendrá un token de acceso de autenticación.In this step, you get an authentication access token. Las aplicaciones de Power BI se integran con Azure AD para proporcionar un inicio de sesión seguro y una autorización para la aplicación.Power BI apps are integrated with Azure AD to provide secure sign in and authorization for your app. Un token se usa para autenticarse en Azure AD y obtener acceso a los recursos de Power BI.You use a token to authenticate to Azure AD and gain access to Power BI resources.

Aquí se indica cómo obtener un token de acceso de autenticación.Here's how to get an authentication access token.

Obtener un token de acceso de autenticaciónGet an authentication access token

NOTA: Antes de comenzar, asegúrese de que ha seguido los pasos anteriores del tutorial Insertar datos en un conjunto de datos.NOTE: Before you get started, make sure you have followed the previous steps in the push data into a dataset walkthrough.

  1. En Visual Studio 2015, cree un proyecto de aplicación de consola .In Visual Studio 2015, create a Console Application project.
  2. Instale la Biblioteca de autenticación de Azure AD para el paquete NuGet de .NET.Install the Azure AD Authentication Library for .NET NuGet package. Para obtener un token de seguridad de autenticación en una aplicación de .NET, use este paquete.To get an authentication security token in a .NET app, you use this package. Aquí se muestra cómo instalar el paquete:Here's how to install the package:

    a.a. En Visual Studio 2015, elija Herramientas > Administrador de paquetes NuGet > Consola del Administrador de paquetes.In Visual Studio 2015, choose Tools > NuGet Package Manager > Package Manager Console.

    b.b. En Consola del Administrador de paquetes, escriba Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 2.21.301221612.In Package Manager Console, enter Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 2.21.301221612.

  3. Agregue el código siguiente a la clase Program {...}.Add the code below into class Program {...}.
  4. Reemplace "{ClientID}" por el valor de Client ID que obtuvo al registrar la aplicación.Replace "{ClientID}", with the Client ID you got when you registered the app. Consulte Registrar una aplicación con Azure AD.See Register the app with Azure AD.
  5. Después de instalar el paquete de Microsoft.IdentityModel.Clients.ActiveDirectory, agregue using Microsoft.IdentityModel.Clients.ActiveDirectory; a Program.cs.After installing the Microsoft.IdentityModel.Clients.ActiveDirectory package, add using Microsoft.IdentityModel.Clients.ActiveDirectory; to Program.cs.
  6. Ejecute la aplicación de consola e inicie sesión en su cuenta de Power BI.Run the Console App, and login to your Power BI account. Debería ver una cadena de token en la ventana de consola.You should see a token string in the Console Window.

Ejemplo de código para obtener un token de seguridad de autenticaciónSample code to get authentication security token

Agregue este código a Program {...}.Add this code to Program {...}.

  • Una variable de token para llamar a las operaciones:A token variable to call operations:

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

    static void Main(string[] args)
    {
      //Get an authentication access token
      token = GetToken();
    }
    
  • Agregue un método GetToken():Add a GetToken() method:
       #region Get an authentication access token
       private static 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.windows.net/common/oauth2/authorize";

           //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);
           string token = authContext.AcquireToken(resourceUri, clientID, new Uri(redirectUri)).AccessToken;

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

           return token;
       }

       #endregion

Después de obtener un token de autenticación, puede llamar a cualquier operación de Power BI.After you get an authentication token, you can call any Power BI operation. El paso siguiente muestra cómo llamar a la operación Crear conjunto de datos para crear un conjunto de datos para insertar datos en un panel.The next step shows you how to call the Create Dataset operation to create a dataset to push data into a dashboard.

El siguiente paso muestra cómo crear un conjunto de datos en Power BI.The next step shows you how to create a dataset in Power BI.

A continuación se muestra la lista de código completa.Below is the complete code listing.

Lista de código completaComplete 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 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.windows.net/common/oauth2/authorize";

            //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);
            string token = authContext.AcquireToken(resourceUri, clientID, new Uri(redirectUri)).AccessToken;

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

            return token;
        }

        #endregion

    }
}

Paso siguiente >Next Step >

Pasos siguientesNext steps

Creación de un conjunto de datos en Power BICreate a dataset in Power BI
Registrar una aplicación con Azure ADRegister an app with Azure AD
Biblioteca de autenticación de Azure AD para el paquete .NET de NuGetAzure AD Authentication Library for .NET NuGet package
Inserción de datos en un conjunto de datos de Power BIPush data into a Power BI dataset
Información general sobre la API de REST de Power BIOverview of Power BI REST API
Referencia de la API de REST de Power BIPower BI REST API reference
¿Tiene más preguntas?More questions? Pruebe la comunidad de Power BITry the Power BI Community