Freezone S'inscrire

FAQ FAQ Rechercher Rechercher Liste des Membres Liste des Membres Groupes d'utilisateurs Groupes d'utilisateurs S'enregistrer S'enregistrer
Passer une commande de l'api directement dans l'url ?
 

Poster un nouveau sujet    Répondre au sujet
   Univers Freebox Index du Forum -> Freebox / Freebox OS / Les App. (Freebox Connect, Freebox Files...)



 Auteur   Message 
paviyy
(Auteur du topic)

Hobbit de L'Univers


Inscrit le: 30 Aoû 2014
Messages: 2
 
2 points

paviyy
(Auteur du topic), Posté le: Ven 22 Mai 2015, 12:46    Sujet du message: Passer une commande de l'api directement dans l'url ? Passer une commande de l'api directement dans l'url ? 102078 94943
Répondre en citant

Bonjour à vous,

Je suis en train de "tenter" de créer un petit programme qui doit envoyer des commandes simples au Freebox Player (mute, volume, etc). Je suis débutant et ma question n'a peut-être pas de sens:

Dans l'api de la Freebox je vois qu'il faut d'abord obtenir une autorisation:

----------------------------------------------------------
POST /api/v3/login/authorize/ HTTP/1.1
Host: mafreebox.freebox.fr

{
"app_id": "fr.Freebox.testapp",
"app_name": "Test App",
"app_version": "0.0.7",
"device_name": "PC de Xavier"
}
----------------------------------------------------------

Ma question est la suivante: est-il possible de passer les arguments (entre accolades) directement dans une url ?
du genre:

https://mafreebox.free.fr/api/v3/login/authorize{"app_id":..."PC de Xavier"}


Si oui, je ne trouve pas la syntaxe à utiliser

Je crois comprendre que l'objet en accolade est un objet de type json ? mais ça ne m'avance pas beaucoup de dire ça...

Merci de votre aide,

pavixy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé
ndv
Hobbit de L'Univers


Inscrit le: 05 Avr 2011
Messages: 23
 
40 points

ndv, Posté le: Ven 22 Mai 2015, 15:13    Sujet du message: 57363 51871 Répondre en citant

Bonjour,

Tout d'abord je tiens à préciser que je ne connais pas l'API de la Freebox.

En revanche je peux te donner quelques infos générales:
Effectivement l'objet que tu donne c'est bien du JSON, c'est un format standardisé qui permet un échange de données (comme XML) entre systèmes informatiques.
En revanche cela ressemble plus à une réponse de la Freebox, ce n'est pas ces arguments la que tu dois envoyer pour t'authentifier.

Pour info il y a deux manières pour envoyer des paramètres à une API:
- méthode GET: /api/v3/login/authorize?login=monlogin&password=monmotdepasse
Comme tu peux le voir les paramètres sont passés à la suite de l'url avec un ? pour commencer puis un & entre chaque paramètre.

- méthode POST: Avec cette méthode tu ne passe pas les paramètres dans l'url, tu dois les donner à ton client http pour qu'il les injecte dans la requête.
Sache aussi que pour t'authentifier il y a de forte chance que ce soit avec la méthode POST, un essai en GET ne devrais rien donner. Ce n'est pas toi qui choisis laquelle des deux méthodes tu dois utiliser mais j'imagine que ça doit être documenté pour chaque type de requête.

Bon courage
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé
cliclem
Esprit de L'Univers


Inscrit le: 31 Aoû 2010
Messages: 287
 
6287 points

cliclem, Posté le: Ven 22 Mai 2015, 15:52    Sujet du message: Re: Passer une commande de l'api directement dans l'url ? Re: Passer une commande de l'api directement dans l'url ? 48031 43282 Répondre en citant

paviyy a écrit:
Bonjour à vous,

Je suis en train de "tenter" de créer un petit programme qui doit envoyer des commandes simples au Freebox Player (mute, volume, etc). Je suis débutant et ma question n'a peut-être pas de sens:

Dans l'api de la Freebox je vois qu'il faut d'abord obtenir une autorisation:

----------------------------------------------------------
POST /api/v3/login/authorize/ HTTP/1.1
Host: mafreebox.freebox.fr

{
"app_id": "fr.Freebox.testapp",
"app_name": "Test App",
"app_version": "0.0.7",
"device_name": "PC de Xavier"
}
----------------------------------------------------------

Ma question est la suivante: est-il possible de passer les arguments (entre accolades) directement dans une url ?
du genre:

https://mafreebox.free.fr/api/v3/login/authorize{"app_id":..."PC de Xavier"}


Si oui, je ne trouve pas la syntaxe à utiliser

Je crois comprendre que l'objet en accolade est un objet de type json ? mais ça ne m'avance pas beaucoup de dire ça...

Merci de votre aide,

pavixy


Voici un petit truc pour toi... je ne connais pas non plus l'api mais je peux te donner un exemple de code d'après ce que tu as fait:
crée un fichier test.html et ouvre le après avoir marqué ceci dedans:

Code:
<html>
   <head>
      <meta charset="utf-8" />
      <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
      <script>
function test() {
   var params = {
      "app_id": "fr.Freebox.testapp",
      "app_name": "Test App",
      "app_version": "0.0.7",
      "device_name": "PC de Xavier"
   };
   $.post('mafreebox.freebox.fr', params, function(ret) {
      alert('authentification effectuée ou pas => voir le contenu de ret');
   }, 'json');
}
</script>
   </head>
   <body>
      <button onclick="test();">test</button>
   </body>
</html>
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé
paviyy
(Auteur du topic)

Hobbit de L'Univers


Inscrit le: 30 Aoû 2014
Messages: 2
 
2 points

paviyy
(Auteur du topic), Posté le: Dim 24 Mai 2015, 12:52    Sujet du message: 102078 94943
Répondre en citant

Bonjour ndv,
Merci beaucoup pour le temps que tu as pris pour me répondre et à écrire cet exemple.
J'ai maintenant bien compris la difference entre "get" et "post".
Effectivement tu as raison : je dois utiliser un post et non pas un get ; ton exemple m'a appris pas mal de chose et je vais m'en inspirer. Merci encore à toi
Pavi
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé

Poster un nouveau sujet     Répondre au sujet

Univers Freebox Index du Forum -> Freebox / Freebox OS / Les App. (Freebox Connect, Freebox Files...)
Page 1 sur 1
Toutes les heures sont au format GMT + 2 Heures
 

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum





CoolVista Thème phpbb
- Site adapté par Vincent Barrier
 © 2005 - 2009 Univers Freebox