Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hi guys, I need help with the following issue, I am trying to connect with an API with a "next" on the end of the page, this next contains a new URL that gives us the next page, I need to loop this in Power BI until I have all the data. The point is, I get the following error while I am using the right credentials:
(baseuri as text) =>
let
headers = [Headers=[Accept="application/json", Authorization="Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]],
initReq = Json.Document(Web.Contents(baseuri, headers)),
initData = initReq[data],
//We want to get data = {lastNPagesData, thisPageData}, where each list has the limit # of Records,
//then we can List.Combine() the two lists on each iteration to aggregate all the records. We can then
//create a table from those records
gather = (data as list, uri) =>
let
//get new offset from active uri
newOffset = Json.Document(Web.Contents(uri, headers))[next],
//build new uri using the original uri so we dont append offsests
newUri = newOffset,
//get new req & data
newReq = Json.Document(Web.Contents(newUri, headers)),
newdata = newReq[data],
//add that data to rolling aggregate
data = List.Combine({data, newdata}),
//if theres no next page of data, return. if there is, call @gather again to get more data
check = if newReq[next_page] = null then data else @gather(data, newUri)
in check,
//before we call gather(), we want see if its even necesarry. First request returns only one page? Return.
outputList = if initReq[next_page] = null then initData else gather(initData, baseuri),
//then place records into a table. This will expand all columns available in the record.
expand = Table.FromRecords(outputList)
in
expand
I first received the error that the datasource needs to be anonymously, changing that brings me this error. How do I need to solve this?
Are you maybe supposed to provide a session id for subsequent calls? Check the documentation of the API you are accessing.
Hi @lbendlin,
Thanks for your reply,
Unfortunately that is not the case. It is all based on the url at the end of the page and the authorization.
User | Count |
---|---|
128 | |
109 | |
100 | |
65 | |
62 |
User | Count |
---|---|
137 | |
115 | |
102 | |
71 | |
61 |