Skip to content

Un wrapper Dart pour l'API de Freebox OS, gère la connexion et facilite les requêtes.

License

Notifications You must be signed in to change notification settings

Freebox-Tools/dart-freebox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This package is only in French because it is only for certain French internet boxes.

Une librairie pour faciliter l'utilisation de l'API de Freebox OS. Facilite l'authentification et l'envoi de requêtes afin de pouvoir intéragir simplement avec une Freebox.

Fonctionnalités

L'API de Freebox OS est capable d'exécuter de nombreuses actions sur la box, comme la gestion des téléchargements et des fichiers sur le disque interne, ou la gestion des contacts et des appels sur le téléphone fixe. Cependant, l'authentification et la première connexion (register) sont assez complexes. Cette librairie permet de simplifier ces étapes, pour vous offrir une meilleure expérience de développement.

Utilisation

Importez la librairie

import 'package:freebox/freebox.dart';

Enregistrement

Cette étape ne doit être effectuée qu'une seule fois, et permet d'obtenir un appToken. C'est une étape obligatoire pour utiliser l'API de Freebox OS. L'écran d'affichage de la Freebox demandera à l'utilisateur de confirmer l'opération.

await FreeboxClient.registerFreebox(
  appId: 'fbx.exemple',
  appName: 'Exemple',
  appVersion: '1.0.0',
  deviceName: 'iOS',
  verbose: true, // Optionnel, true par défaut
);

Authentification

L'étape d'authentification permet d'obtenir un token de session, qui est nécessaire pour effectuer des requêtes à l'API.

var client = FreeboxClient(
    appToken: "<Obtenu lors de l'enregistrement>",
    appId: "fbx.exemple",
    apiDomain: "<Obtenu lors de l'enregistrement>",
    httpsPort: 0, //  "<Obtenu lors de l'enregistrement>"
    verbose: false, // Optionnel, false par défaut
  );

await client.authentificate();

Requêtes

Une fois authentifié, vous pourrez effectuer des requêtes à l'API de Freebox OS.

var system = await client.fetch(
    url: "v8/system",
    method: "GET", // Optionnel, GET par défaut
    parseJson: true, // Optionnel, true par défaut
);

print(system); // Affiche les informations système de la Freebox

Le header Content-Type est automatiquement défini à application/json s'il n'est pas déjà défini.

Récupérer un fichier

Pour récupérer un fichier, rien de plus simple :

var audioData = await client.fetch(
  url: "/v10/call/voicemail/$audioId.au/audio_file",
  parseJson: false, // A ne pas oublier !
 ); 

// Créé un fichier audio_file.wav qui va contenir le fichier audio
final file = File('audio_file.wav');
await file.writeAsBytes(audioData);

Ici, on récupère un fichier audio de la messagerie vocale, et on le stocke dans un fichier audio_file.wav.

Informations supplémentaires

  • Vous trouverez la liste des endpoints disponibles dans la documentation de l'API de Freebox OS.

Retrouvez tous nos projets pour Freebox sur le Github de Freebox Tools

About

Un wrapper Dart pour l'API de Freebox OS, gère la connexion et facilite les requêtes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages