Samuel
MembreRéponses céées sur le Forum
-
Bonjour et merci pour votre réponse, je vais creuser dans ce sens.
Bien à vous,
-
Bonjour Jonathan,
Désolé pour la longue absence, j’ai avancé sur mon loop API et je vous explique.
- J’ai créé une fonction appelé (GetPage) :
(page) =>
let
Source = Json.Document(Web.Contents(“Mon API?page=” & Text.From(page),
[Headers=[#”X-Gravitee-Api-Key”=”API KEY”]]))
in
Source- J’ai créé une table qui me retourne une nombre entier (MaxPage) :
let
Source = Json.Document(Web.Contents(“Mon API”,
[Headers=[#”X-Gravitee-Api-Key”=”API KEY”]])),
#”hydra:view” = Source[#”hydra:view”],
#”Converti en table” = Record.ToTable(#”hydra:view”),
#”Lignes filtrées” = Table.SelectRows(#”Converti en table”, each ([Name] = “hydra:last”)),
#”Valeur remplacée” = Table.ReplaceValue(#”Lignes filtrées”,”/vehicules/v1/vehicules?page=”,””,Replacer.ReplaceText,{“Value”}),
#”Colonnes supprimées” = Table.RemoveColumns(#”Valeur remplacée”,{“Name”}),
#”Type modifié” = Table.TransformColumnTypes(#”Colonnes supprimées”,{{“Value”, Int64.Type}}),
Value = #”Type modifié”{0}[Value],
#”Valeur absolue calculée” = Number.Abs(Value)
in
#”Valeur absolue calculée”- J’ai enfin créé une table (Vehicule) :
let
Source = List.Generate(
() => [page = 1, vehicule = Json.Document(Web.Contents(“Mon API?page=” & Text.From(page),
[Headers=[#”X-Gravitee-Api-Key”=”API KEY”]]))],
each [page] <= 61, (Ici quand je mets 61 j’obtiens bien la liste que je souhaite, par contre quand je mets MaxPage que j’ai créé précédemment pour automatiser, ça ne marche pas, pourtant c’est bien une valeur nombre entier).
each [vehicule = GetPage([page]), page = [page] +1 ]
)
in
SourceC’est là que je pêche, je ne comprends pas…..
Merci à vous !
-
Ah, je crois que cela s’intitule page_last dans mon API
-
Merci pour votre gentillesse..
Question, FactAPICallInfo c’est mon API ?
-
Bonjour Jonathan,
Merci de prendre un peu de temps.
Je comprends très bien ce que vous dites, c’est très explicite.
Dans mon appel API, par défaut j’ai la page 1 avec 30 résultats, si je demande la page 2, j’aurais la page 2 avec 30 résultats.
Donc je vais travailler votre exemple et je vous tiens au courant.
Merci à vous,
Sam.
-
Voilà ce que j’obtiens.
(NumPage as text) =>
let
Source = Json.Document(Web.Contents(“Mon API”,
[
Headers=[#”X-Gravitee-Api-Key”=”Ici la clé”],
RelativePath=”/api/vehicules/v1/vehicules?page=”&NumPage
]))
in
SourcePourriez-vous me dire où dois-je mettre la fonction Number.list() ?
Merci à vous !
-
Bonjour Brice,
Merci à vous…
Je vais tester votre solution et reviens vers vous.
Je sais que l’API créée en php par notre DSI comporte un paramètre pagination car il y a beaucoup de données.
Donc je dois trouver un contournement.
Merci à vous,
Sam
-
Bonjour Brice,
Merci pour votre réponse, mais il me semble que ce script en Python demande une entrée ?
Si c’est le cas, il faudrait trouver le nombre de page max qui se trouve dans l’appel de l’API et à partir de là, faire une boucle.
Lors de l’appel de l’API le retour en json donne un item page_last qui correspond à la dernière page.
J’aimerais que ma requête ou fonction en Python soit automatique en lecture.
Bien à vous,
Sam.