Plusieurs tags dans API

Bonjour,
J’ appelle un de mes scenarios par une API en PHP de cette manière.
file_get_contents("$ipjeedup/core/api/jeeApi.php?apikey=$apikey&type=scenario&id=$noscenario_varBoost&action=start&tags=TagBoost=$Boost");
Cela marche très bien et le scenarion récupère bien le tag ‹ TagBoost › mais je ne peux en mettre qu’un seul. J’ai essayé ceci mais ca ne marche pas.
file_get_contents("$ipjeedup/core/api/jeeApi.php?apikey=$apikey&type=scenario&id=$noscenario_varBoost&action=start&tags=TagBoost=$Boost Tagxx=$xx");
Connaissez vous la syntaxe pour envoyer plusieurs tags ?
Merci

Bonjour,

C’est documenté pourtant :wink:
https://doc.jeedom.com/fr_FR/core/4.1/api_http#Scénario

je cite:

tags [optionnel] : si l’action est “start”, vous pouvez passer des tags au scénario (voir la documentation sur les scénarios) sous la forme tags=toto%3D1%20tata%3D2 (à noter que %20 correspond à un espace et %3D à = ).

donc ceci va envoyer 2 tags, 1 toto qui vaut 1 et un tata qui vaut 2.

&tags=toto%3D1%20tata%3D2

edit: notez l’importance de mettre le code dans un Texte préformaté car dans votre post l’url a été modifiée et elle est incorrecte en l’état, cela ne peut pas fonctionner car il y a 2 signe = derrière le paramètre tags

2 « J'aime »

ha alors il faut passer par un outil pour « encoder » l’url :

transforme ceci (avec les espaces pour séparer les différentes variable)

var1=toto1 var2=toto2 var3=toto3

en cela:

var1%3Dtoto1+var2%3Dtoto2+var3%3Dtoto3

Votre exemple est incorrecte !
Relisez mon post et la documentation.

Chaque tag est séparé par un espace et pas un & et l’encodage est déjà documenté, il suffit tant que l’on utilise des caractères alphanumériques.
Dans le cas contraire, mieux vaut utiliser curl que file_get_contents qui permettra de gérer l’encodage automatiquement plutôt que passer par un site externe.

ha bon ce n’est pas un encodage d’url standard alors on ne peut pas utiliser les outils existants… c’est dommage car c’est bien pratique ce genre de site, d’ailleurs il existe aussi les fonctions php pour encoder / décoder selon ce même standard mais du coup il ne sera pas adapté non plus.

Mais si c’est un encodage standard ! Ou avez-vous lu le contraire ?
Évidemment que les valeurs doivent être url encodée mais il faut commencer par des cas simples avant de complexifier si quelqu’un débute avec cela.

Votre exemple de base est incorrecte et donc forcement le résultat encodé l’est aussi.

Vous n’allez que provoquer confusion auprès d’utilisateurs qui débutent avec ce genre d’intervention.

Ha mais je n’ai pas lu le contraire ! disons plutôt que c’est un encodage standard que je n’avais jamais rencontré, et n’en parlons plus :slight_smile:
Moi je ne connaissais que les clés / valeurs séparées par un & - qui lui même peut être encodé - et c’est pratique parce que ça permet de mettre des espaces dans les valeurs à transmettre.

En effet ici on ne peut transmettre que des caractères alphanumériques.
Je corrige quand même mon post initial pour ne pas induire les gens en erreur.

oui c’est un encodage standard…

et c’est exactement ca!

c’est faux!

Mais j’abandonne, vous n’avez pas compris et on pollue.
Ou alors vous le faite exprès, je me demande… à chaque fois vous venez avec de nouvelles pseudo contraintes ou affirmations fausses sorti de nulle part.

1 « J'aime »

c’est pas sorti de nulle part c’est juste une citation, pourquoi tant de haine :smiley:

Donc cela voulait dire que l’exemple donné dans la documentation pour l’encodage suffit tant que les valeurs qu’on utilise sont alphanumériques. Ni plus ni moins. Il ne faut lire entre les lignes ni interprèter ni essayer d’en tirer une autre conclusion.
Pour le répéter autrement: si les valeurs passée aux tags sont alphanumériques, ce qui est l’objet de la demande de ce post et ce qui couvre probablement 80% des besoins, il n’y a pas besoin encoder d’autres caractères que l’espace et le =

Car comme vous savez de quoi on parle,vous savez que ces caractères ne seront pas modifié lors d’un urlencode.

Quand je dis que savoir cela est suffisant cela ne veut pas dire que ce sont les seuls caractères admis, contrairement à ce que vous avez dit.

Et ce n’est qu’un exemple parmi toute cette conversation qui montre que vous avez pris de conclusions hâtives et erronées en détournant mes propos !

1 « J'aime »

Merci …ca marche maintenant !

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.