Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Power BI GET-Methode with token as request header

Hi evereyone

I'm new to power bi and I'm trying an OAuth using the GET method. But it's not the conventional way, I think.

I can show you the issue with swagger. I get a connection, if i dont fill the 'Bearer token'. I have to give a Request Header as shown.

But how to build that in M-Code?

I have read many instructions on the net, maybe all of them, but I can't find a solution.

See my last attempt:

 

Can anyone please help me?

Regards

 

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi Anonymous ,

     

    I think you can follow the below step to get access token and get data from API.

     

    1. Get Access token in Power BI Desktop:
    () =>
    
     
    
    let
    
        body = "client_id=" & #"App ID"
    
        & "&scope=https://analysis.windows.net/powerbi/api/.default&client_secret=" & #"App Secret"
    
        & "&grant_type=client_credentials",
    
        Data= Json.Document(Web.Contents("https://login.microsoftonline.com/"& TenantID & "/oauth2/v2.0/token/",
    
        [Headers=[#"Content-Type"="application/x-www-form-urlencoded"], Content=Text.ToBinary(body)])),
    
        access_token = Data[access_token]
    
    in
    
        access_token

     

    1. Video: How to get access token and call Rest API by dynamic access token in Power BI Desktop?

     

    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.

  • Anonymous's avatar
    Anonymous
    4 years ago

    HI everyone

     

    Sorry for delay, I had to take a little Corona break.

    The solution works fine now, thanks to all.

     

    regards

    Mulder

4 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      HI amitchandak

      PREVIEW
       
      I have read everything from Chris Webb, it helps to build the POST-Method to get the token.
       
      But it isn't a Bearer Token. i try serval times, but it dont work.
      there ist also a solution from Diogenes Santos wiht Bearer Token like this:
       

      authToken = "bearer " & token, //Required by documentation.

      [Headers=[Authorization=authToken]]

       

      It seems like i cant use the Authorization Methode like this.

      The same when i try to fill the OAuth Token in swagger, it doesent work.

       

      But Thanks fpr reply

      Regards

       
  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    I think you can follow the below step to get access token and get data from API.

     

    1. Get Access token in Power BI Desktop:
    () =>
    
     
    
    let
    
        body = "client_id=" & #"App ID"
    
        & "&scope=https://analysis.windows.net/powerbi/api/.default&client_secret=" & #"App Secret"
    
        & "&grant_type=client_credentials",
    
        Data= Json.Document(Web.Contents("https://login.microsoftonline.com/"& TenantID & "/oauth2/v2.0/token/",
    
        [Headers=[#"Content-Type"="application/x-www-form-urlencoded"], Content=Text.ToBinary(body)])),
    
        access_token = Data[access_token]
    
    in
    
        access_token

     

    1. Video: How to get access token and call Rest API by dynamic access token in Power BI Desktop?

     

    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.

  • Anonymous's avatar
    Anonymous
    Not applicable

    HI everyone

     

    Sorry for delay, I had to take a little Corona break.

    The solution works fine now, thanks to all.

     

    regards

    Mulder