Forum Discussion

Jayendran's avatar
Jayendran
Solution Sage
7 years ago
Solved

How to pass the value from one source to another in Power Query ?

Hi,

 

I'm trying to find a way to pass the value of bearer token from a text file to my API

 

Source = Json.Document(Web.Contents("https://api.powerbi.com/v1.0/myorg/gateways"),[Headers=[Authorization="Bearer "+ Lines.FromBinary(File.Contents("C:\works\pbi\Bearer.txt"))

But I was not able to successfully go through the step.

 

My Text file only contains the Bearer value like below

 

 

 

 

5 Replies

  • Nolock's avatar
    Nolock
    Resident Rockstar

    Hi Jayendran,

    I personally recommend to split a long expression into shorter ones because you can debug every step separately.

    The problem in your query was using + for concatenating of strings instead of &.

     

    TokenType = "Bearer",
    Token = Lines.FromBinary(File.Contents("C:\works\pbi\Bearer.txt")),
    Source = Json.Document(
    Web.Contents("https://api.powerbi.com/v1.0/myorg/gateways"),
    [Headers=[Authorization=TokenType & " " & Token]]
    )
    • Jayendran's avatar
      Jayendran
      Solution Sage

      Hi Nolock 

       

      I tried your solution, It giving error like below

       

      Expression.Error: We cannot convert a value of type Record to type Number.
      Details:
      Value=Record
      Type=Type

       

      This is my new code

       

      let
          TokenType = "Bearer",
          Token = Lines.FromBinary(File.Contents("C:\Jay\works\pbi\Gateway_Report\Bearer.txt")),
          Source = Json.Document(Web.Contents("https://api.powerbi.com/v1.0/myorg/gateways"),[Headers=[Authorization=TokenType & " " & Token]])
      
      in
         Source
      • Nolock's avatar
        Nolock
        Resident Rockstar

        Hi Jayendran,

        there is also another problem I haven't seen before. There was a wrong bracket in the function Web.Contents.

         

        let
            TokenType = "Bearer",
            Token = Lines.FromBinary(File.Contents("C:\Jay\works\pbi\Gateway_Report\Bearer.txt")),
            Source = Json.Document(Web.Contents("https://api.powerbi.com/v1.0/myorg/gateways",[Headers=[Authorization=TokenType & " " & Token]]))
        
        in
           Source