Я пытаюсь получить все элементы из приложения через 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