Forum Discussion
Take data from api with automatique loop
Hi !
I want to take data from API with an automatique id loop.
let
BaseUrl = "https://ecofac.nicoka.com/api/jobs/",
Token = "token",
GetJson = (Url) =>
let Options = [Headers=[ #"Authorization" = "Bearer " & Token ]],
RawData = Web.Contents(Url, Options),
Json = Json.Document(RawData)
in Json,
GetTotalEntities = () =>
let Json = GetJson(BaseUrl),
Total = Json[total]
in Total,
GetUrl = (Index) =>
let Skip = Text.From(Index) & "/counters/",
Url = BaseUrl & Skip
in Url,
EntityCount = List.Max({GetTotalEntities()}),
PageCount = Number.RoundUp(EntityCount),
PageIndices = { 32 .. PageCount + 1 },
URLs = List.Transform(PageIndices, each GetUrl(_)),
Entities = List.Union(URLs)
in
Entities
And i need a list of ids pulled from the request on the api and it works fine.
But now I have to use this list to get all of my data but its not working.
Thanks for read this and for your helps if you can 😉
- Anonymous5 years ago
I don't need this list union 😮
I just missed to add this line on the GetUrlJson = GetJson(Url),Thank you for yours help 🙂
6 Replies
- AnonymousNot applicable
try replacing thjis
URLs = List.Transform(PageIndices, each GetUrl(_)), Entities = List.Union(URLs) in Entitieswith this one
URLs = List.Transform(PageIndices, each GetUrl(_)) in URLsPS
be careful not to leave the comma before in
- AnonymousNot applicable
When I do what you say I just have my address list that I want to request which it doesn't do.
Best regards
- AnonymousNot applicable
my suggestion was related to the error you reported. I have not read and understood the meaning and purpose of your code to give a complete answer (I don't have time to do such a thing).
I only saw that you improperly used the list.union function and suggested that you exclude it to get a correct but incomplete result.
<<can't convert the value "https://ecofac.nicoka..." in type list.>>I'm sorry if the suggestion is not enough to completely solve your problem.