Un usuario Pregunto ✅
[****]
[****]
Shamatix
Hola, compañeros usuarios de Power Bi:
Ahora hemos avanzado un poco más y ahora nos encontramos con un nuevo error:
«No podemos aplicar acceso de campo al tipo Lista».
A continuación se muestra nuestro código M
let
// Få authorization token
Kilde = Web.Contents("https://api.bilagscan.dk/oauth2/token",
[Headers=[#"Content-Type"="application/x-www-form-urlencoded"],
Content=Text.ToBinary(Uri.BuildQueryString([grant_type="password", client_id="XXXXXXXXXXXXXXXXXXXXXXXXXX", client_secret="XXXXXXXXXXXXXXXXXXXXXXXXXX", email="XXXXX@YYYYYYYYYY.com", password="XXXXXXXXXXXXX"]))]),
KildeTekst = Text.FromBinary(Kilde),
KildeSegmenter = Splitter.SplitTextByDelimiter("&")(KildeTekst),
KildeKvps = List.Transform( KildeSegmenter,
(value) => {
List.First((Splitter.SplitTextByDelimiter("=")(value))),
List.Last((Splitter.SplitTextByDelimiter("=")(value)))
}
),
KildeKvpTabel = Table.FromList(KildeSegmenter, Splitter.SplitTextByDelimiter("=")),
#"Filtrerede rækker" = Table.SelectColumns(Table.SelectRows(KildeKvpTabel, each [Column1] = "access_token"), {"Column2"}),
Token = Text.From(List.First(Table.SelectColumns(Table.SelectRows(KildeKvpTabel, each [Column1] = "access_token"), {"Column2"})[Column2])),
EntitiesPerPage = 100,
BaseUrl = "https://api.XXXXXXXXXXX.dk/v1/organizations/XXXX/vouchers",
Options = [Headers=[ #"Authorization" = "Bearer " & Token ]],
GetJsonCount = (Url) =>
let
result = Web.Contents(Url, Options),
#"Temp" = Json.Document(result,1252),
JsonCount = Record.Field(#"Temp"[meta],"count")
in JsonCount,
GetJsonList = (Url) =>
let
resultList = Web.Contents(Url, Options),
#"TempList" = Json.Document(resultList,1252),
JsonList = #"TempList"[data]
in JsonList,
GetEntityCount = () =>
let
Url = BaseUrl & "?count=11",
Json = GetJsonCount(Url),
Count = Json
in Count,
GetPage = (Index) =>
let
Skip = "offset=" & Text.From(Index * EntitiesPerPage),
Top = "?count=" & Text.From(EntitiesPerPage),
Url = BaseUrl & Top & "&" & Skip,
Json = GetJsonList(Url),
Value = Json[#"value"]
in Value,
EntityCount = List.Max({ EntitiesPerPage, GetEntityCount() }),
PageCount = Number.RoundUp(EntityCount / EntitiesPerPage),
PageIndices = { 0 .. PageCount - 1 },
Pages = List.Transform(PageIndices, each GetPage(_)),
Entities = List.Union(Pages),
Table = Table.FromList(Entities, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
Table
Realmente espero que alguien pueda ayudarnos 🙂
Atentamente