Forum Discussion
REST API Get Access Token
- Anonymous5 years ago
Before you use Rest API to get access token, you need to registered a client app in Azure AD. Every portal has its url to get access token. The resource url for Power BI API is "https://analysis.windows.net/powerbi/api". Then you need to add parameter into your code body, like your Client ID( from your app) or your account and password.
Here I will show you two ways to get Power BI access token.
1. Get access token by Postman.
For reference: Solved: Power BI REST API using postman - generate embed t... - Microsoft Power BI Community
2. Try this code to get access token in visual studio by C#.
For reference: Get an authentication access token
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 } }Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
hi, I use the same method and get the error message:
Hi Anonymous ,
You need to specify your tenant_id in your URL, e.g. https://login.microsoftonline.com/{{tenant_id}}/oauth2/v2.0/token. You can find the tenant_id in the Azure Portal > Azure AD > App Registrations > YOUR_APP > Overview.