Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)

  • État Fermée
  • Pourcentage achevé
    100%
  • Type Anomalie
  • Catégorie Freebox OS → API
  • Assignée à Personne
  • Système d'exploitation Tous
  • Sévérité Moyenne
  • Priorité Très Basse
  • Basée sur la version 2.0.1
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes
  • Privée
Concerne le projet: Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)
Ouverte par ttu - 02/07/2013

FS#12719 - Request authorization retourne erreur 403

Bonjour,
Je ne suis pas autorisé à exécuter “POST /api/v1/login/authorize/” =⇒ (403) Forbidden. ce qui est ballot.

Si j’ai bien compris la doc, il faut faire cette requête avant l’ouverture de session afin d’obtenir un app_token.

sinon :

GET /api/v1/login/authorize/{track_id} =⇒ (403) Forbidden. ce qui est ballot aussi.
GET /api/v1/login/ =⇒fonctionne
GET /api_version =⇒ fonctionne

Fermée par  nipo
10.07.2013 15:40
Raison de la fermeture :  Impossible à reproduire
Chef de projet
nipo a commenté le 10.07.2013 10:38

Si vous faites des tests depuis votre navigateur, c’est normal. Utilisez un client “headless” ou faites des XMLHttpRequest

ttu a commenté le 10.07.2013 14:24

Bonjour et merci d’avoir répondu,

J’utilise bien un client headless. j’ai essayé WebClient et WebRequest (.Net C#). Dans les 2 cas, j’obtiens l’erreur (403) Forbidden.

A priori ce n’est pas un problème de sérialisation JSON, car lorsque je mets volontairement des données au mauvais format j’obtiens une erreur explicite :
{”msg”:”Requete invalide : impossible de parser le json”,”success”:false,”error_code”:”invalid_request”}.

A mon humble avis :
- Soit il y a un truc que je fais mal, et alors il faut que le message d’erreur soit plus explicite sur la raison de l’échec de la requête.
- Soit il y a un bug et alors le serveur retourne l’erreur 403 alors qu’il devrait pas.

Chef de projet
nipo a commenté le 10.07.2013 14:32

Ne pourriez-vous pas mettre en ligne un client minimal exposant le problème ?

ttu a commenté le 10.07.2013 15:02

Voici le code C#.
Je peux fournir le code compilé aussi si ca peut aider.

static void Main()

      {
          string url="http://mafreebox.freebox.fr/api/v1/login/authorize/";
          string data=@"{""app_id"":""myappID"",""app_name"":""myapp"",""app_version "":""1"",""device_name "":""mydevice""}";
          using (var wb = new System.Net.WebClient())
          {
              wb.Headers.Add("Content-Type", "application/json"); // le fait de commenter cette ligne ne change rien.
              var response = wb.UploadString(url, "POST", data); // erreur 403
              var response2 = wb.UploadData(url, "POST", System.Text.Encoding.UTF8.GetBytes(data)); // erreur 403
          }
      }
Chef de projet
nipo a commenté le 10.07.2013 15:25

Vous avez un espace en trop après device_name.

ttu a commenté le 10.07.2013 15:33

ok. Merci.

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche