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
Anonymous
Not applicable

Obtain API Token with secure Authentication

Hello I'm new to Power BI,

 

I'm trying to obtain a third party REST API token using Web.Contents, but I want a secure way to do this other than entering a username and password into Power BI.

 

Saving the username/password to a secured file on a desktop or sharepoint are not ideal solutions.

 

Any advice?

 

let
Details="{""username""****":"",""password"":""****""}",
Token = Json.Document(Web.Contents("https://myurl/api/login",[Headers =[#"accept"="*/*",#"Company"="MyCompany",#"Content-Type"="application/json"], Content = Text.ToBinary(Details)]))
in
Token

 

Where **** for username and password are hidden and myurl is the url to login for my specific third party API.

2 REPLIES 2
Anonymous
Not applicable

Hi  @Anonymous,

Please review the following links, hope they can help you.

Using REST API:

How do I retrieve a bearer token from a service in Power BI?

Get token from Post API call

 

let

url = "https://login.windows.net/xxx/oauth2/v2.0/token",

headers = [#"Content-Type" = "application/x-www-form-urlencoded"],

postData = "grant_type=client_credentials&scope=xxx&client_id=xxx&client_secret=xxx",

response = Web.Contents(

url,

[Headers = headers,

Content = Text.ToBinary(postData)

]

),

JsonResponse=Json.Document(response),

access_token = JsonResponse[access_token]

in

access_token​

 

REST API Get Access Token

Using Power Automate:

How to use a service principal in Power BI Admin REST APIs in Power Automate

Best Regards

Anonymous
Not applicable

Thanks for your response @Anonymous,

This has partially helped me by exploring concepts for service as a principal. 
Enable service principal authentication for read-only admin APIs - Power BI | Microsoft Learn 

However, in the example it appears that the code is passing the client ID and client secret, this seems as unsecure as using a username and password.

 

I'm not sure if I should be attempting to access the token this way, or in another way described here: Handling authentication for Power Query connectors - Power Query | Microsoft Learn

 

Any advice is appreciated.

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.