Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.
I have a list of parent ID's generated from an intial API call:
Now I want to call a second API for each row, using each of these parent ID's as inputs, and put it all into one big table. So I made a custom column:
= Web.Contents("https://urlexample.com/webapi/v01.0/eobjects/XMLData/CampaignOpenClickDetails/" & Number.ToText([CampaignID]) & "?pageon=1&pagesize=10", [Headers=[#"User-Key"="key", #"Company"="company",#"UserName"="username"]])
Now I have successfully made the custom column and I get the Binary content link
but when I click on the Binary link to try and expand it, I get this error:
DataSource.Error: WebContents failed to get contents from 'https://urlexample.com/webapi/v01.0/eobjects/XMLData/%0ACampaignOpenClickDetails/126289?pageon=1&pagesize=10' (400) Bad Request
Details:
DataSourceKind=Web
DataSourcePath=https://urlexample.com/webapi/v01.0/eobjects/XMLData/%0ACampaignOpenClickDetails/126289
Url=https://urlexample.com/webapi/v01.0/eobjects/XMLData/%0ACampaignOpenClickDetails/126289?pageon=1&pagesize=10
I know the headers (masked in this example) are correct because I use the exact same headers for the intial API call. Also, I'm able to successfully make this exact API call in Postman, so I know I have network access and such. What am I missing?
Solved! Go to Solution.
To collect detail data from API you need to create
- Query One with all records (filter only on one for your test)
- Query Two with detail for one record
- Parameter to send ID to second query
- Create a function Query Two + Parameter
- Use custom function in Query one to get detail for all ID
Did you do all these steps ?
______________________________________________________
If you found this post helpful, please give Kudos C
Do you try to call one API manualy ? without your list
______________________________________________________
If you found this post helpful, please give Kudos C
Yes I am able to do that successfully. I can call the second API to get detail records for campaign ID 366617 separately, for example. No errors, works perfectly. It's only when I try the same kind of call per each row.
To collect detail data from API you need to create
- Query One with all records (filter only on one for your test)
- Query Two with detail for one record
- Parameter to send ID to second query
- Create a function Query Two + Parameter
- Use custom function in Query one to get detail for all ID
Did you do all these steps ?
______________________________________________________
If you found this post helpful, please give Kudos C
This ordering of steps is what I needed. I have it working now. Thank you!
Hi @freginier, one followup question. The parameter requires me to enter a single "current value", but this causes my visuals on the reporting side to be filtered by that single value which is undesirable. How to I prevent this?
don't worry about this value it's only for first run. When you will create a function based on your parameter the value with change automaticaly
Check out the April 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.