api_collection 1.0.2 copy "api_collection: ^1.0.2" to clipboard
api_collection: ^1.0.2 copied to clipboard

A side project, collecting and creating API wrapper from online APIs

Dart wrappers for known media services on internet #

⚠️ Not all error catched (yet), please open an issue or PR, if any error exist #

Services available #

- Doodstream #

void main() async {
  final key = Platform.environment['DOODSTREAM_API_KEY']!;
  final doodstreamClient = DoodstreamApi(key);
  final getAccount = await doodstreamClient.accountInfo();
  print(getAccount?.toJson());
}

- Streamtape #

void main() async {
  final user = Platform.environment['STREAMTAPE_USER']!;
  final key = Platform.environment['STREAMTAPE_KEY']!;
  final streamtapeClient = StreamtapeApi(user, key);
  final getAccount = await streamtapeClient.accountInfo();
  print(getAccount?.toJson());
}

- Mixdrop #

void main() async {
  final user = Platform.environment['MIXDROP_EMAIL']!;
  final key = Platform.environment['MIXDROP_KEY']!;
  final mixdropClient = MixdropApi(user, key);
  final listFolder = await mixdropClient.folderList();
  print(listFolder?.toJson());
}

- Gofile #

void main() async {
  final token = Platform.environment['GOFILE_TOKEN']!;
  final gofileClient = GofileApi(token);
  final getAccount = await gofileClient.accountInfo();
  print(getAccount?.toJson());
}

Listening to Upload/Download progress #

  • To listen for upload/download task, just add code below to your app
transferProgress.stream.listen((e) => print(e));
  • You can also filter specific upload/download task
import 'dart:io';
import 'package:dart_api_collection/dart_api_collection.dart';

void main() async {
ApiConfig.logConfig
  ..enableLog = true
  ..showResponseHeader = false; // Add log for easy debuging
final file = File('video.mp4');
final id = await file.id; // Extension on dart:io File, exported by this package

/// Filter by file ID
transferProgress.stream.where((event) => event.id == id).listen((e) => print(e));
final gofileClient = GofileApi(); // Gofile provide free upload without API key

final result = await gofileClient.uploadFile(file);
print(result?.toJson());
}

Get raw JSON String as result instead of prebuild model #

void main()async{
ApiConfig.logConfig
  ..enableLog = true
  ..showResponseHeader = false;
final key = Platform.environment['DOODSTREAM_API_KEY']!;
final doodstreamClient = DoodstreamApi(key);
final getAccount = await doodstreamClient.rawApi.accountInfo(); // Using rawApi directive
print(getAccount); // Print a JSON string
}

- TODO List: #

1
likes
130
pub points
0%
popularity

Publisher

verified publishermrcrbrth.my.id

A side project, collecting and creating API wrapper from online APIs

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

crypto, dio, jiffy

More

Packages that depend on api_collection