Aller au contenu principal

Démarrage rapide

Bêta

Cette bibliothèque est actuellement en bêta. L'implémentation de l'API est complète, mais la couverture de tests est minimale. Les modèles de réponse et les signatures de méthodes peuvent évoluer suite aux résultats des tests.

Si vous constatez des modèles de réponse incorrects ou un comportement inattendu, veuillez le signaler via GitHub Issues ou soumettre une Pull Request.

mastodon_client est une bibliothèque cliente Mastodon API écrite en Dart pur. Elle fonctionne dans tout environnement où Dart est disponible : Flutter, Dart côté serveur, outils CLI, et bien d'autres.

Installation

Ajoutez la dépendance dans votre pubspec.yaml :

dependencies:
mastodon_client: ^1.0.0-beta.1

Puis récupérez-la :

dart pub get

Utilisation de base

Initialiser le client

import 'package:mastodon_client/mastodon_client.dart';

final client = MastodonClient(
baseUrl: 'https://mastodon.social',
accessToken: 'your_access_token',
);

baseUrl doit inclure le schéma (ex. https://). accessToken peut être omis si vous utilisez uniquement des endpoints ne nécessitant pas d'authentification.

Votre premier appel API

Récupérer les informations du serveur (sans authentification) :

final instance = await client.instance.fetch();
print(instance.title); // Server name
print(instance.description); // Server description

Récupérer le compte de l'utilisateur authentifié :

final me = await client.accounts.verifyCredentials();
print(me.displayName); // Display name
print(me.acct); // Username

Structure de l'API

Chaque API est exposée sous forme de propriété sur MastodonClient, jouant le rôle de namespace :

client.accounts      // Account operations
client.statuses // Status operations
client.timelines // Timeline retrieval
client.notifications // Notification operations
client.media // Media upload
client.search // Search
client.oauth // OAuth token operations
// ... and many more

Contrôler la sortie des logs

Les logs de requêtes/réponses HTTP sont affichés sur stdout par défaut.

// Disable logging
final client = MastodonClient(
baseUrl: 'https://mastodon.social',
accessToken: 'token',
enableLog: false,
);

// Use a custom logger
final client = MastodonClient(
baseUrl: 'https://mastodon.social',
accessToken: 'token',
logger: FunctionLogger((level, message) {
// Your custom log handling
}),
);

Consultez Logging pour plus de détails.

Prochaines étapes