paviyy (Auteur du topic), Posté le: Ven 22 Mai 2015, 11:46 Sujet du message: Passer une commande de l'api directement dans l'url ?
Passer une commande de l'api directement dans l'url ?10207894943
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
ndv, Posté le: Ven 22 Mai 2015, 14:13 Sujet du message:
5736351871
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.
cliclem, Posté le: Ven 22 Mai 2015, 14: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 ?4803143282
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
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>
paviyy (Auteur du topic), Posté le: Dim 24 Mai 2015, 11:52 Sujet du message:
10207894943
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
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