2단계: 인증 액세스 토큰 가져오기Step 2: Get an authentication access token

이 문서는 시리즈 Power BI 데이터 세트에 데이터 푸시의 두 번째 단계입니다.This article is the second step in the series Push data into a Power BI dataset.

1단계에서 Azure AD에 클라이언트 앱을 등록했습니다.In step 1, you registered a client app in Azure AD. 이 단계에서는 인증 액세스 토큰을 가져옵니다.In this step, you get an authentication access token. Power BI 앱이 Azure Active Directory와 통합되어 앱에 보안 로그인 및 앱에 권한 부여를 제공합니다.Power BI apps are integrated with Azure Active Directory to provide your app with secure sign in and authorization. 앱은 토큰을 사용하여 Azure AD에 인증하고 Power BI 리소스에 액세스합니다.Your app uses a token to authenticate to Azure AD and gain access to Power BI resources.

인증 액세스 토큰 가져오기Get an authentication access token

시작하기 전에 Power BI 데이터 세트에 데이터 푸시 시리즈에서 이전 단계를 완료했는지 확인합니다.Before starting, make sure you've completed the previous step in the Push data into a Power BI dataset series.

이 프로시저를 수행하려면 Visual Studio 2015 이상이 필요합니다.This procedure requires Visual Studio 2015 or later.

  1. Visual Studio에서 새 C# 콘솔 애플리케이션 프로젝트를 만듭니다.In Visual Studio, create a new C# Console Application project.

  2. .NET NuGet 패키지용 Azure AD 인증 라이브러리를 설치합니다.Install the Azure AD Authentication Library for .NET NuGet package. .Net 앱에서 인증 보안 토큰을 가져오려면 이 패키지가 필요합니다.Your .Net app needs this package to get an authentication security token.

    a.a. 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔을 선택합니다.Select Tools > NuGet Package Manager > Package Manager Console.

    b.b. Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 2.21.301221612를 입력합니다.Enter Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 2.21.301221612

    다.c. Program.cs에 using Microsoft.IdentityModel.Clients.ActiveDirectory;를 추가합니다.In Program.cs, add using Microsoft.IdentityModel.Clients.ActiveDirectory;.

  3. 이 단계 다음에 나열된 샘플 코드를 Program.cs에 추가합니다.Add the sample code listed after these steps to Program.cs.

  4. 앱을 등록할 때 이전 시리즈 문서에서 가져온 클라이언트 ID가 있는 "{ClientID}"로 바꿉니다.Replace "{ClientID}", with the Client ID you got in the previous series article when you registered your app.

  5. 콘솔 앱을 실행하고 Power BI 계정에 로그인합니다.Run your console app and sign in to your Power BI account.

    토큰 문자열이 콘솔 창에 나타나야 합니다.A token string should appear in the console window.

인증 보안 토큰을 가져오는 샘플 코드Sample code to get authentication security token

Program {...}에 이 코드를 추가합니다.Add this code to Program {...}.

  • 작업을 호출하는 토큰 변수:A token variable to call operations:

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

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

인증 토큰을 가져온 후에는 원하는 Power BI 작업을 호출할 수 있습니다.After you get an authentication token, you can call any Power BI operation.

이 시리즈의 다음 문서에서는 Power BI에서 데이터 세트를 만드는 방법을 보여 줍니다.The next article in this series shows you how to Create a dataset in Power BI.

전체 코드 목록Complete 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

    }
}

다음 단계Next steps

궁금한 점이 더 있나요?More questions? Power BI 커뮤니티를 이용하세요.Try the Power BI Community