Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 06/03/20 in all areas

  1. Bonsoir, Après avoir reçu le fichier en message privé, et après une analyse rapide du problème, pour cela j'ai rajouté la commande cURL --trace-ascii $$trace dans l'action Insérer depuis URL qui doit normalement récupérer l'image. Il s'avère qu'il y a une redirection temporaire des requêtes de votre serveur (et cela doit être dû à l'architecture de FileMaker Cloud), information que l'on voit en lisant le contenu de la variable $$trace : Hors, comme je l'ai expliqué précédemment, la récupération d'un fichier via la Data API de FileMaker Server est sécurisé, le lien est entre autre temporaire. Hors comme il y a une redirection de la requête pour récupérer le fichier et que le système veut être sûr que vous êtes bien la personne destinataire dudit fichier il génère un cookie, mais voilà FileMaker ne gère pas les cookies comme un navigateur. Il faut donc dire deux choses à FileMaker dans la requête de récupération de fichier : La première qu'il doit suivre les redirections, le fameux code HTTP 302, et pour cela il faut ajouter la commande cURL -L ; La seconde qu'il doit stocker le cookie du premier serveur pour le retransmettre au second, et pour cela nous allons utiliser une variable temporaire (que je nomme ici $cookie) et utiliser la commande cURL --cookie-jar $cookie Et nous obtenons donc le script suivant : Gestion erreurs [ Oui ] Définir variable [ $login ; Valeur: Base64EncodeRFC ( 4648 ; "LOGIN:MOTDEPASSE" ) ] Définir variable [ $url ; Valeur: "https://MONSERVEUR/fmi/data/vLatest/databases/MABASE/" ] # Définir variable [ $url.endpoint ; Valeur: $url & "sessions/" ] Définir variable [ $curl ; Valeur: "-X POST " & "-H " & Citation ( "Authorization: Basic " & $login ) & " " & "-H " & Citation ( "Content-type: application/json" ) & " " & "-d {}" ] Insérer depuis URL [ Sélectionner ; Avec boîte de dialogue: Non ; Cible: $resultat ; $url.endpoint ; Options cURL: $curl ] # Définir variable [ $token ; Valeur: JSONGetElement ( $resultat ; "response.token" ) ] # Définir variable [ $url.endpoint ; Valeur: $url & "layouts/MONMODELE/records" ] Définir variable [ $curl ; Valeur: "-X GET " & "-H " & Citation ( "Authorization: Bearer " & $token ) & " " & "-H " & Citation ( "Content-type: application/json" ) & " " & "-d {}" ] Insérer depuis URL [ Sélectionner ; Avec boîte de dialogue: Non ; Cible: $resultat ; $url.endpoint ; Options cURL: $curl ] # Définir variable [ $image ; Valeur: JSONGetElement ( $resultat ; "response.data[0].fieldData.image" ) ] # Nouvel enreg./requête Insérer depuis URL [ Sélectionner ; Avec boîte de dialogue: Non ; Cible: TABLE::Conteneur ; $image ; Options cURL: "-L " & "--cookie-jar $cookie " & "--trace-ascii $$trace" ] # # Deconnexion Définir variable [ $url.endpoint ; Valeur: $url & "sessions/" & $token ] Définir variable [ $curl ; Valeur: "-X DELETE " ] Insérer depuis URL [ Sélectionner ; Avec boîte de dialogue: Non ; Cible: $resultat ; $url.endpoint ; Options cURL: $curl ] # Fin de script [ Résultat de texte: ] Les puristes me pardonnerons mes approximations…
    1 point
  2. Je t'en prie ! C'était la solution de David (même s'il l'avait moins développée) 😌
    1 point
  3. Pour Jérémie : Je découvre à peine ta réponse, mais je tiens à te remercier fortement, car grâce à ta dernière réponse, j'ai enfin trouvé une solution complète et définitive à mon problème ! Elle marche parfaitement, et j'aurai beaucoup appris sur la manipulation des variables dans cette affaire. Vraiment encore merci !
    1 point
  4. fabriceN

    Regretté Filemaker 18

    Oui, comme dit plus haut, le modèle économique de Claris autour de FileMaker est particulier. Mais dans le cas de 4D, je ne sais pas si leur situation est très enviable... Enfin, je suis d'accord avec ton point sur les licences unitaires. Il faut se rendre à l'évidence : si un logiciel ne fait pas ce que tu veux et qu'il n'est pas à un prix qui correspond à ton budget, alors en effet je crois qu'il faut en choisir un autre. Donc si tu distribues un produit vertical et que ton prix de vente ne couvre pas la licence SBA correspondante (moins de 100€/an), alors oui, FileMaker ne peut convenir.
    1 point
  5. Vous pouvez utiliser une FP, MD5 par exemple
    1 point
×
×
  • Create New...