This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
I'm trying to follow a tutorial to make an API post call, but I cannot get it work. Can someone please help me check where I get it wrong? I removed the sensitive information but other than that, this is what I have, when I refresh, I recieve error below:
let
body = "{""grant_type"":""password"",""resource"":""https://analysis.windows.net/powerbi/api"",""client_id"":"""",""username"":"""",""password"":"""",""client_secret"":""""}",
url = "https://login.microsoftonline.com/common/oauth2/token/",
Data = Web.Contents(
url,
[
Headers=[#"Content-Type" = "application/json; charset=utf-8"],
Content=Text.ToBinary(body)
]
),
response = Json.Document(Data)
in
response
Solved! Go to Solution.
Hi @yangty152 ,
The error is that the URL(https://login.microsoftonline.com/common/oauth2/token/) you entered only accepts POST, OPTIONS requests. But has received a GET request.
Refer to the syntax posted in this thread:
//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;
Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @yangty152 ,
The error is that the URL(https://login.microsoftonline.com/common/oauth2/token/) you entered only accepts POST, OPTIONS requests. But has received a GET request.
Refer to the syntax posted in this thread:
//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;
Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.