Aller au contenu

[Script] Web Api Synology


Messages recommandés

Bonjour à tous,

Fredolamasse, de mon coté j'ai contacté le support Synology pour essayer d'en apprendre un peu plus sur les autres API. Mais même le support n'as pas réussi à me répondre et m'a simplement renvoyé sur la documentation de la DOWNLOAD STATION.

Je trouve ça étonnant que synology ait créé une API avec si peu d'information. D'autant plus que comme je l'ai dit dans mon précédent poste, certaine API tel que l'API Backup est interrogeable avec la méthode "list", c'est donc qu'elles sont implémentées. La liste des méthodes utilisables pour chaque API doit bien se trouver quelque part. 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous,

Depuis quelques jours mon script ne marche plus alors qu'il marchait encore tres bien il y a 2 semaines.

J'ai un problemé avec la fonction permettant de récuprer le SID. Ce qui est etonnant c'est qu'en passant la commande directement par le Browser tout marche correctement. Quelqu'un aurait une idée ? Merci d'avance pour la ou les réponses Est ce quelqu'un à aussi le probléme avec la derniere version se Siurveillance Station ?

$json = file_get_contents($server.'/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version='.$vAuth.'&account='.$login.'&passwd='.$pass.'&session=SurveillanceStation&format=sid');   
  $obj = json_decode($json); 
  if($obj->success != "true")
   {
      echo "Erreur dans le SID";
      exit();
   }
  else ... Etc

alors que ceci marche tés bien : https://192.168.1.2:5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=admin&passwd=XXXXXXXX&session=SurveillanceStation&format=sid

Merci

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
Le 03/04/2016 at 11:43, Jean Coudert a dit :

Bonjour à tous,

Depuis quelques jours mon script ne marche plus alors qu'il marchait encore tres bien il y a 2 semaines.

J'ai un problemé avec la fonction permettant de récuprer le SID. Ce qui est etonnant c'est qu'en passant la commande directement par le Browser tout marche correctement. Quelqu'un aurait une idée ? Merci d'avance pour la ou les réponses Est ce quelqu'un à aussi le probléme avec la derniere version se Siurveillance Station ?

$json = file_get_contents($server.'/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version='.$vAuth.'&account='.$login.'&passwd='.$pass.'&session=SurveillanceStation&format=sid');   
  $obj = json_decode($json); 
  if($obj->success != "true")
   {
      echo "Erreur dans le SID";
      exit();
   }
  else ... Etc

alors que ceci marche tés bien : https://192.168.1.2:5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=admin&passwd=XXXXXXXX&session=SurveillanceStation&format=sid

Merci

Bonjour Jean,

J'ai le même soucis que toi, à savoir, aucun soucis en lançant la requête par le navigateur. En revanche, le script me renvoi une erreur 400 à chaque fois.

L'erreur 400 correspond à une erreur dans le password mais ce n'est pas mon cas.

J'ai pu tester sur un DSM 6 et un 5.2 et c'est du pareil au même...

Si quelqu'un à des billes, je suis preneur.

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

il y a 6 minutes, gaetan.cambier a dit :

à foice de rester sur la vieille version des api, un jour, ca ne fonctionne plus ...

remplace la version par 6, ca fonctionnera beaucoup mieux ....

Même avec ça : api=SYNO.API.Auth&method=login&version=6 j'ai une erreur 400.

D'autres pistes ?

Lien vers le commentaire
Partager sur d’autres sites

Hello,

Pour ma part j'utilise des scripts python (je crois que ce sont ceux de gaetan.cambier).

Curieusement depuis mon passage à DSM6 (et mise à jour des app) j'avais une erreur 402... en fouillant un peu je me suis rendu compte que dans mon mot de passe j'avais un @ comme caractère spécial qui était transformé en %40 et cela lui posait problème (j'ai essayé un autre compte en remplaçant @ par . et cela passe sans problème)

Une idée pour contourner ce problème ? (même si j'ai la solution d'un compte propre à surveillance station)

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Il y a 8 heures, Deadbone a dit :

Hello,

Pour ma part j'utilise des scripts python (je crois que ce sont ceux de gaetan.cambier).

Curieusement depuis mon passage à DSM6 (et mise à jour des app) j'avais une erreur 402... en fouillant un peu je me suis rendu compte que dans mon mot de passe j'avais un @ comme caractère spécial qui était transformé en %40 et cela lui posait problème (j'ai essayé un autre compte en remplaçant @ par . et cela passe sans problème)

Une idée pour contourner ce problème ? (même si j'ai la solution d'un compte propre à surveillance station)

Cordialement

GOOODDD !!!

Merci @Deadbone !!

Effectivement, le mot de passe est encodé en hexa, mais les caractères spéciaux ont du mal visiblement ;)

Pour ceux qui font du shell j'ai fait ça :

password=$(echo -n "<Mot_De_Passe>" | xxd  -c 256 -ps | perl -pe 's:(.{2}):%$1:g')

Ça permet de transformer tout le mot de passe en héxadecimal, et ça marche ;)

Et après vous faite ça dans le script :

"api=SYNO.API.Auth&method=Login&version=2&account="<USER>&passwd=$password&session=SurveillanceStation&format=sid"

Merci encore à tous !

Lien vers le commentaire
Partager sur d’autres sites

  • 7 mois après...

hello tout le monde,

je déterre ce post car grâce à ce topic j'ai pu trouver une ligne de command API qui m'intéresse :

"SYNO.Core.ExternalDevice.Storage.USB": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON" }

en fait je souhaite créer avec mon système de domotique un petit script (language LUA) qui me permette d'éjecter le HDD de sauvegarde branché en USB, sans passer par le WebAdmin du syno.

et en jouant avec le mode développeur de mon navigateur, j'ai trouvé ceci en cliquant sur le bouton éjecte du HDD :

dev_id=%22sdq%22&api=SYNO.Core.ExternalDevice.Storage.USB&method=eject&version=1

Mais j'ai aucune doc la dessus ! je n'ai pas la syntaxe, les paramètres, je suis un peu perdu !

quelqu'un aurait une idée ?

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.