Zum Hauptinhalt springen

Erste Schritte

Beta

Diese Bibliothek befindet sich derzeit im Beta-Stadium. Die API-Implementierung ist abgeschlossen, die Testabdeckung ist jedoch minimal. Response-Modelle und Methodensignaturen können sich auf Basis von Testergebnissen ändern.

Falls Sie fehlerhafte Response-Modelle oder unerwartetes Verhalten feststellen, melden Sie dies bitte über GitHub Issues oder reichen Sie einen Pull Request ein.

mastodon_client ist eine reine Dart-Bibliothek für die Mastodon-API. Sie läuft in jeder Umgebung, in der Dart unterstützt wird: Flutter, serverseitiges Dart, CLI-Tools und mehr.

Installation

Füge die Abhängigkeit in deine pubspec.yaml ein:

dependencies:
mastodon_client: ^1.0.0-beta.1

Anschließend ausführen:

dart pub get

Grundlegende Verwendung

Client initialisieren

import 'package:mastodon_client/mastodon_client.dart';

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

baseUrl muss das Schema enthalten (z. B. https://). accessToken kann weggelassen werden, wenn ausschließlich Endpunkte verwendet werden, die keine Authentifizierung erfordern.

Erster API-Aufruf

Serverinformationen abrufen (keine Authentifizierung erforderlich):

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

Konto des angemeldeten Benutzers abrufen:

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

API-Struktur

Jede API ist als Property von MastodonClient verfügbar und dient als Namensraum:

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

Log-Ausgabe steuern

HTTP-Request/Response-Logs werden standardmäßig auf stdout ausgegeben.

// 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
}),
);

Details findest du unter Logging.

Nächste Schritte