Forum Discussion
API call for each row - 400 Bad Request
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=10I 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?
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
6 Replies
- freginierSolution Sage
Do you try to call one API manualy ? without your list
______________________________________________________
If you found this post helpful, please give Kudos C
- AnonymousNot applicable
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.
- freginierSolution Sage
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