Collection à partir d'une réponse HTTP de Flow.

Étiquetté : , ,

  • Collection à partir d'une réponse HTTP de Flow.

    Posté par Grogzz sur 6 mars 2023 à 21h32

    Bonjour à tous, je souhaite récupérer les lignes d’un tableau Excel et les afficher dans une Data Table de mon application PowerApps. Mon soucis est que la collection que je souhaite peupler avec la réponse HTTP reste désespérément vide.

    Un aperçu de mon Flow qui s’appelle Contenu_Excel :

    Je me suis basé sur l’échantillon suivant pour obtenir le schéma JSON :

    [n  {n    "@odata.etag": "",n    "ItemInternalId": "5cdb47c0-663a-4f8e-b71f-4661e6383115",n    "N°": "1",n    "Ext": "",n    "Libellé de voie": "RUE FOO",n    "Type d'accès": "Entrée libre",n    "Localisation Bal ": "Limite Voirie",n    "Observations": "BAR",n    "Noms": "FOO",n    "Prénoms": "BAR",n    "__PowerAppsId__": "5cdb47c0-663a-4f8e-b71f-4661e6383115"n  }n]

    Le schéma JSON de ma réponse HTTP :

    {n    "type": "array",n    "items": {n        "type": "object",n        "properties": {n            "@@odata.etag": {n                "type": "string"n            },n            "ItemInternalId": {n                "type": "string"n            },n            "N°": {n                "type": "integer"n            },n            "Ext": {n                "type": "string"n            },n            "Libellé de voie": {n                "type": "string"n            },n            "Type d'accès": {n                "type": "string"n            },n            "Localisation Bal ": {n                "type": "string"n            },n            "Observations": {n                "type": "string"n            },n            "Noms": {n                "type": "string"n            },n            "Prénoms": {n                "type": "string"n            },n            "__PowerAppsId__": {n                "type": "string"n            }n        },n        "required": [n            "@@odata.etag",n            "ItemInternalId",n            "N°",n            "Ext",n            "Libellé de voie",n            "Type d'accès",n            "Localisation Bal ",n            "Observations",n            "Noms",n            "Prénoms",n            "__PowerAppsId__"n        ]n    }n}

    Je finis par récupérer le résultat de cette réponse :

    ClearCollect(Contenu;Contenu_Excel.Run(IDFichier))

    Pas de trace de l’opération ClearCollect dans le moniteur.

    Auriez-vous une idée d’où vient le problème ?

    Merci d’avance pour votre réponse !

    PostID=JUZQn9kGy2AAFsd

    Grogzz a répondu Il y a 4 mois, 2 semaines 1 Membre · 2 Réponses
  • 2 Réponses
  • DavidZed

    Membre
    7 mars 2023 à 6h42

    Hello Grogzz ,

    L’utilisation semble correcte à première vue, du coup il faut vérifier dans une exécution de ton flux :

    • Vérifier qu’il y a bien de la donnée qui transite dans ton action Réponse, en entrée et sortie

    • Tester avec un @ en moins à “@@odata.etag”

    • Tester en supprimant la partie “Required” de ton schéma JSON

    • Dans power apps tester en mettant la réponse dans une variable plutot qu’une collection (non pas que ce soit une meilleure option, juste pour vérifier que le soucis ne vienne pas de la)

    CommentID=zpRw26kVGwXNX6v, PostID=JUZQn9kGy2AAFsd

    • Grogzz

      Membre
      7 mars 2023 à 21h16

      Bonsoir DavidZed, merci pour ton retour.

      • Pour le premier point, lorsque je fais le monitoring de mon application, je vois que mon Run est un succès et je peux voir la table contenant toutes les informations. J’obtiens aussi ce contenu dans le corps de la réponse HTTP lors de la réussite de mon Flow :

      ...n"value": [n    {n      "@odata.etag": "",n      "ItemInternalId": "5cdb47c0-663a-4f8e-b71f-4661e6383115",n      "N°": "1",n      "Ext": "",n      "Libellé de voie": "RUE FOO",n      "Type d'accès": "Entrée libre",n      "Localisation Bal ": "Limite Voirie",n      "Observations": "BAR",n      "Noms": "FOO",n      "Prénoms": "BAR",n      "__PowerAppsId__": "5cdb47c0-663a-4f8e-b71f-4661e6383115"n    },n...n]n}
      • Ensuite, lorsque j’essaie de modifier en “@odata.etag” le Flow refuse de s’enregistrer et me répond :

      Unable to parse template language expression 'odata.etag': expected token 'LeftParenthesis' and actual 'Dot'.

      Après quelques recherches je suis tombé sur une page de learn.microsoft qui explique que :

      If you have a literal string that starts with the @ character, prefix the @ character with another @ character as an escape character: @@.

      • Pas de changement en supprimant la partie Required. Le Flow s’exécute mais ma collection reste vide.

      • Idem lorsque je mets la réponse dans une variable. Elle est de type tableau mais elle reste vide.

      J’ai essayé d’utiliser DropColums pour modifier la structure des données avant d’en faire une collection mais même résultat.

      Plutôt étrange cette histoire.

      SubCommentID=6Yj3atPkzvwE0t9, CommentID=zpRw26kVGwXNX6v, PostID=JUZQn9kGy2AAFsd

Connectez-vous pour répondre.