Aller au contenu
Kriek

Api Http - Initialiser Une Variable Depuis Un Script Google

Recommended Posts

Bonjour, Je cherche à  initialiser une variable globale depuis un script google. Mais je n'arrive pas à  trouver comment mettre en forme l'équivalent de la fonction PUT sur une commande http du type http://admin:admin@XXX.XXX.XXX.XXX/api/globalVariables

 

Quelqu'un s'y connait-il suffisamment en script google pour m'aider ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Voici une bride de code qui devrait t'aider

var HC2_IP = "www.xxxxxxx.xxxxx:xx";
var LOGIN = "admin";
var PWD = "admin"
  
var url = "http://" + HC2_IP + "/api/globalVariables";
var data = {"name":"MYVARIABLE", "value":"MYVALUE"};

var options = {"headers": {"User-Agent": "MY_APP_NAME (App URL/your email address)", "Authorization": "Basic " + Utilities.base64Encode(LOGIN + ":" + PWD)}, 
               "Content-Type": "application/json",
               "method":"post",
               "payload": data
};
  
envoi = UrlFetchApp.fetch(url, options) 

Testé et approuvé.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci, :60:

 

Je ne vais pas avoir beaucoup de temps d'ici ce week end, mais je vais regarder cela.

 

Je ne m'attendais pas à  si tordu, mais bon avec un peu de concentration on va y arriver  ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

J'ai encore besoin d'aide...

 

Je ne comprends pas, j'ai réussi à  faire mon script sur les conseils de Steven avec la fonction post.

Je crée donc une variable avec la valeur que je veux... Niveau 1 franchi !!!! :D

 

Je tente alors le niveau 1.1 (n'allons tout de même pas trop vite...) : je souhaite modifier la valeur de cette même variable fraîchement crée donc je passe ne mode "put" et voilà  que je me prends une erreur en retour :

"ERROR","reason":"JSON_PARSE_ERROR","message":"Expect either an object or array at root"

 

Si je reste en "post", il me dit que la variable existe déjà , ce à  quoi je m'attendais, donc il faut bien que je passe en "put"... 

Pourquoi en "post" l'erreur ne m'est pas retournée ? Je devrais avoir le même problème non ? 

 

Qu'est ce que j'ai raté ???

 

Merci d'avance pour l'aide que vous pourrez m'apporter.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon allez, si tu veux pas faire d'effort* voici ce que tu cherches :

 

http://spiccand.wordpress.com/2014/07/05/manipuler-une-variable-globale-a-votre-hc2-depuis-google-script/

 

En gros, entre le put et le post c'est un stupide problème de guillemet. Tu y trouveras la methode "add" (post) et la méthode "modify" (put).

la méthode "doIt" regroupe tout cela en allant d'abord voir si la variable existe et utiliser le post ou le put en conséquence.

 

* plaisanterie :)

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Arrrrghhh ! Mais quel boulet je suis !!!!

 

Le pire c'est que j'ai atterri sur ton site car je cherchais des bases de script entre la HC2 et google Calendar... et je n'ai pas vu cette page où il y avait tout ce que je cherchais sur les modifs de variables... :15:

 

Du coup j'en profite pour te dire que ton site est vraiment super...

 

Bon maintenant que j'ai bien fait mon boulet, je vais essayer de redresser la barre en avançant sur mon script et le soumettre ensuite sur le forum. 

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu n'as pas fait ton boulet, ce script a été ajouté hier soir justement parce que tu cherchais l'info  ;)

 

Mon site est très récent mais je suis entrain d'y regrouper mes script/tutos. Il y a quelques articles publiés sur d'autres sites que je remet dans celui-ci et il y a (comme le script en question) encore pas mal de script que j'ai crée et que je n'ai encore jamais publié. Soit parce que je ne trouve pas l'utilité de le faire, soit parce que je n'ai pas envie de devoir fournir du support dessus  :15:

 

Mon site est un site mémoire, il me permet de retrouver mes affaires ... tu verras quand tu auras mon age.  :D

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven

 

Heu... Question, tu fais un NAT dans ta box internet pour pouvoir accéder en direct à  ta HC2 en HTTP?

Partager ce message


Lien à poster
Partager sur d’autres sites

@DjoulZ

Dans mon cas, c'est du simple Port Fowarding.

 

Pour ton API, il faudrait faire un topic car cela peux intéresser des personnes et éventuellement demander à  moicphil de déplacer les posts directement dedans. J'ai tester un peu ... très très rapidement avec la ZiBase et il y a quelques incohérences (exemple, je ne vois que les scénarios noté comme "Visible sur l'interface" alors que devrait apparaitre sois tous, soit ceux accessible uniquement par ZAPI). J'ai pas pu dépasser le stade de la consultation car je pense que tu es entrain de travailler sur ton serveur :)

Partager ce message


Lien à poster
Partager sur d’autres sites

×