Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Take data from api with automatique loop

Hi ! 

I want to take data from API with an automatique id loop.

I'm not really good in Json but i created this code. I'm stuck on the last lines of development.
 
The code return me he can't convert the value "https://ecofac.nicoka..." in type list.
 
Here is the code  : 
 
 

 

 

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.
 
If you need more information i can answer it.

Thanks for read this and for your helps if you can 😉

  • Anonymous's avatar
    Anonymous
    5 years ago

    I don't need this list union 😮
    I just missed to add this line on the GetUrl

     

    Json = GetJson(Url),

     

    Thank you for yours help 🙂

6 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    try replacing thjis

     

        URLs  = List.Transform(PageIndices, each GetUrl(_)),
    
        Entities    = List.Union(URLs)
    in
        Entities

     

     

    with this one

     

        URLs  = List.Transform(PageIndices, each GetUrl(_))
    
    in
       URLs

     

     

     

    PS

    be careful not to leave the comma before in

    • Anonymous's avatar
      Anonymous
      Not 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

      • Anonymous's avatar
        Anonymous
        Not 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.