Как перебрать смещение Podio API - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь получить все элементы из приложения через Podio API. Проблема в том, что он возвращает только максимум 500 элементов (строк);это можно обойти, используя offset:500. После некоторых исследований я нашел использование List.Generate в качестве цикла while, однако, похоже, я не могу заставить его работать.

Моя цель - создать цикл, который останавливается, когда количество элементов, извлеченных API, равно количеству элементов в приложении.

Это то, что я создал, пожалуйстаобратите внимание, что это, вероятно, совсем не похоже на решение, но просто чтобы дать вам представление о том, что я пытаюсь создать.

let 
    body = "{
        ""limit"":500,
    }",
    body1 = "{
        ""limit"":500,
        ""offset"":500
    }",
    url = "https://api.podio.com/item/app/<appid>/filter/",
         JsonData = Json.Document(Web.Contents(url, [Headers=[Authorization="OAuth2 "&TAKEN_accesstoken&"", #"Content-Type"="application/json"], Content = Text.ToBinary(body)])),
         JsonDataNested = Json.Document(Web.Contents(url, [Headers=[Authorization="OAuth2 "&TAKEN_accesstoken&"", #"Content-Type"="application/json"], Content = Text.ToBinary(body1)])),

    JsonURL = JsonData[count],
    Apicall = 
            List.Generate(()
            => [RowCount = JsonURL, Limit = 500],
            each [RowCount] <= [Limit],
            each [ JsonDataNested] )
in JsonURL
...