Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
ericOnline
Post Patron
Post Patron

How to create PBI API Authorization header from AppID and Secret?

I'm trying to use the PBI API to export reports to .png. I followed the docs to get an app registered in Azure and received an App ID and Secret. 

How do I create the Authorization header for API request using AppID and Secret?

The only examples I've been able to find all use C# or Java to create a "token". I don't have these tools at my disposal. Need an alternative, preferrably also using REST API of some sort. 

 

Thank you

1 ACCEPTED SOLUTION

I figured it out. My client_secret had both a "+" and a "=" in it. I had to use the Flow action of encodeUriComponent. 
Sweet!

View solution in original post

4 REPLIES 4
ericOnline
Post Patron
Post Patron

Following up here... the request I created above successfully returns a token, however the token is rejected when make a call to PowerBI REST API. 


Why could that be?

ericOnline
Post Patron
Post Patron

Thank you for the resources. I've read through them.

 

My challenge is trying to access the PBI REST API from outside PowerBI (from Power Automate in this case).  In the video example you shared, the person is using the Client_ID from their Azure registered app along with their own Username and Password to generate an access token. 

ericOnline_0-1614187592089.png

 

This will not work in my case. 

 

I need to generate a token with Client_ID and Client_Secret. How is this done?

ericOnline_1-1614278901086.png

The error I'm receiving is Invalid Client Secret (though I've checked and double checked that the secret is correct):

 

 

{
  "error": "invalid_client",
  "error_description": "AADSTS7000215: Invalid client secret is provided.\r\nTrace ID: 947ff77d-fc36-480d-a58c-011c126e7400\r\nCorrelation ID: 2af5df99-2ff6-41cb-a094-ca7d5750ef99\r\nTimestamp: 2021-02-24 17:30:39Z",
  "error_codes": [
    7000215
  ],
  "timestamp": "2021-02-24 17:30:39Z",
  "trace_id": "947ff77d-fc36-480d-a58c-011c126e7400",
  "correlation_id": "2af5df99-2ff6-41cb-a094-ca7d5750ef99",
  "error_uri": "https://login.microsoftonline.com/error?code=7000215"
}

 

I figured it out. My client_secret had both a "+" and a "=" in it. I had to use the Flow action of encodeUriComponent. 
Sweet!

v-lionel-msft
Community Support
Community Support

Hi @ericOnline ,

 

Please refer to the links.

How to Call Power BI Rest APIs from Power BI Desktop – Register your Power BI Application – Part One...

Call Power BI Rest API with Dynamic Access Token From Power BI Desktop |Power BI Rest API | Part Two...

v-lionel-msft_4-1614152462657.png

v-lionel-msft_1-1614152272409.png

v-lionel-msft_2-1614152324354.png

 

Best regards,
Lionel Chen

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

 

 

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.