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

July 28 - August 9 | Final Round of the Power BI Dataviz World Championships. This is your chance. Learn more

Reply
feedme
New Member

Authentication issues when calling multiple REST APIs with dynamic access token

Hi all, 

 

I am currently trying to call mutliple tables from an API provider in an Oauth authentication flow with a bearer token. The calls work fine individually but as soon as I want to call more than one table in Power Query Editor I get notified about authentication issues

 

mfidev_0-1684406790116.png

 

I retrieve the token dynamically with the function fnGetToken. 

 

() =>
let

   //Send a POST request to login and get token
   loginData = "{""client_id"": """ & xxxxxxxxxxx & """, ""client_secret"": """ & xxxxxxxx & "}",
   loginHeaders = [
      #"Content-Type" = "application/json",
      #"accept" = "application/json",
      #"login_id" = "xxxxxxxxx"
   ],

   loginResponse = Json.Document(Web.Contents(
      base_url,
      [
      RelativePath = "v1/authenticate",
      Headers = loginHeaders,
      Content = Text.ToBinary(loginData)]
   )),
   data = loginResponse[data],
   token = "Bearer " & data[token]
in
   token

 

I have tried to call the fnGetToken function before the call and load the value on a variable as well as in the request itself. 

I have also used the Function.InvokeFunction with a 15 seconds delay using the #duration Parameter.

 

let
   accesstoken = fnGetToken(),
   getData =
      Json.Document(
         Web.Contents(
            xxxxxbase_urlxxxxxx,
            [
               RelativePath = xxxxxrelative_urlxxxxxx,
               Headers=[
                  #"login_id"="xxxxxxxxxx",
                  accept="application/json",
                  #"authorization" = accesstoken
               ]
            ]
         )
      ),
   data = getData[data]
in
   data

 

My last approach would be to put each of them in individual Dataflows but would love to hear if there is a proper way with M code directly. Very much appreciate your help 🙂

 

2 REPLIES 2
cpwebb
Microsoft Employee
Microsoft Employee

Are you building a custom connector here?

 

If you want to a REST API that needs OAuth2 authentication, you should build a custom connector (despite what you might have read on various blog posts). See https://blog.crossjoin.co.uk/2021/08/29/connecting-to-rest-apis-with-oauth2-authentication-in-power-... for more details.

Thanks for your response.

I saw your blog-posts about that topic but since I managed to establish functioning REST API calls I had the hope I have magic power and could do it again 😅   

I guess I will dive into developing custom connectors which I remember you saying in a youtube video is also a very complex topic. So lets see how that goes. 

Helpful resources

Announcements
Fabric Community Sticker Design Challenge Barcelona Carousel

Fabric Community Sticker Challenge - Barcelona 2026

If you love stickers, then you will definitely want to check out our community sticker challenge, Barcelona edition!

July Power BI Update Carousel

Power BI Monthly Update - July 2026

Check out the July 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.