The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
How to access api data using bearer token in header. In power BI Desktop web connector is available but not in dataflowgen2. Web API connector is available in dataflowgen2 but there is no option in GUI to add headers. Headers is used to enter bearer token. I am not much interested in pasting code advanced editor from power bi desktop as there are bunch of APIs calls I need to made.
Solved! Go to Solution.
We are working on enabling custom connectors in Dataflow Gen2. Creating a custom connector would be the recommended way to securely store the token and use it for the calls needed to the API. We don't have an ETA that we can share at the moment on when it'll be available.
However, it is technically possible to create your own custom M code to pass the bearer token as clear text and as part of your M code. We do not recommend as the token will not be secure and will simply be part of your M code, but it is technically possible to do this. A sample code is provided below:
let
Source = Json.Document(Web.Contents("https://api.XXX.com/", [RelativePath="v1/mycall", Headers=[#"Authorization"="Bearer XXXtokenXXX"]]))
in
Source
Hi @Anonymous
Thank you for the M code. In the datapipeline, could you please take me through the mapping part also with screenshots.please take some complex nested json script. In my case collection reference option is not appearing. I choose lakehouse file with parquet format as destination. For some reasons I am not sharing json output of api here.
Hi @Dinesh09 ,
Thanks for using Fabric Community,
As per my understanding you want to create Rest API Pipeline in Fabric Data Factory.
I assume you might have 2 APIs, API_1 will get a bearer token and other API_2 will get result(final data) on passing bearer token along with header.
Lets assume API_1 requires client_id and client_secret to get bearer token:
Step 1: Connection - Add your base URL here.
Step 2: Relative URL - Add your relative URL here.
Step 3: Body (Main point) - Can add your client_id and client_secret here in json format
{
"grant_type":"client_credentials",
"client_id":"abcdefg",
"client_secret":"123ghy456"
}
Step 4: Header: Add Content-Type : application/json
Lets assume API_2 requires bearer token to get result (final data):
Note: .data.Token is as per my json output, you can write your expression based on your json output from API_1.
Hope this is helpful. Please let us know incase of any queries.
We are working on enabling custom connectors in Dataflow Gen2. Creating a custom connector would be the recommended way to securely store the token and use it for the calls needed to the API. We don't have an ETA that we can share at the moment on when it'll be available.
However, it is technically possible to create your own custom M code to pass the bearer token as clear text and as part of your M code. We do not recommend as the token will not be secure and will simply be part of your M code, but it is technically possible to do this. A sample code is provided below:
let
Source = Json.Document(Web.Contents("https://api.XXX.com/", [RelativePath="v1/mycall", Headers=[#"Authorization"="Bearer XXXtokenXXX"]]))
in
Source
Hi @Dinesh09 ,
Glad to know you query got resolved. Please continue using Fabric Community for your further queries.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Fabric update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
3 | |
2 | |
2 | |
2 | |
1 |
User | Count |
---|---|
3 | |
2 | |
2 | |
2 | |
2 |