Forum Discussion
Power BI and Personio API: Dynamic single-use token
- 4 years ago
Hey, thanks for your reply Anonymous !!
I was able to spare some time during the weekend and four a way to make it work:
let
Source = let
body = "{""client_id"":""XXXXXXX"",""client_secret"":""ZZZZZZZ""}",
Data= Web.Contents("https://api.URL.com/auth?",[Content=Text.ToBinary(body),Headers=[#"Content-Type"="application/json"]]),
DataRecord = Json.Document(Data),
Bearer=DataRecord[data][token],
bearerBody = Web.Contents( "https://api.URL.de/v1/company?",[Headers=[#"Accept"="application/json",#"Authorization"="Bearer "&Bearer]]),
employees = Json.Document(bearerBody)
in
employees
Basically I captured the response in a variable, then replicated the first call, changing the headers to include the "Authorization" and passing the variable to it.
So far is still working with every refresh.
Iยดll check also your solution to see which one is faster ๐
Thanks!
Hi prodoreda ,
Firstly, try to get data by Web connector and you need to add Bear token in HTTP request header parameters(Authorization) in Advanced.
Then open Advanced Editor in Power Query Editor and replace the token by your token Query.
Result is as below. Each time you refresh the report will get the new token from token query.
For more details, you may refer to this video to learn more details.
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.
Hey, thanks for your reply Anonymous !!
I was able to spare some time during the weekend and four a way to make it work:
let
Source = let
body = "{""client_id"":""XXXXXXX"",""client_secret"":""ZZZZZZZ""}",
Data= Web.Contents("https://api.URL.com/auth?",[Content=Text.ToBinary(body),Headers=[#"Content-Type"="application/json"]]),
DataRecord = Json.Document(Data),
Bearer=DataRecord[data][token],
bearerBody = Web.Contents( "https://api.URL.de/v1/company?",[Headers=[#"Accept"="application/json",#"Authorization"="Bearer "&Bearer]]),
employees = Json.Document(bearerBody)
in
employees
Basically I captured the response in a variable, then replicated the first call, changing the headers to include the "Authorization" and passing the variable to it.
So far is still working with every refresh.
Iยดll check also your solution to see which one is faster ๐
Thanks!