Skip to content

srthkpthk/splitwise_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SplitWise API for Dart Say Thanks! License GitHub stars

A wrapper based on SplitWise

  • Feel free to open a PR or Issue
  • Uses OAuth 1
  • Data Classes Not Included
  • Based on null-safety

Steps

  • Get the consumerKey and consumerSecret from Splitwise Register App
  • Check the example.dart located in example/example.dart

Project Structure

|-- CHANGELOG.md |-- LICENSE |-- README.md |-- example | '-- example.dart |-- lib | |-- splitwise_api.dart | '-- src | '-- util | |-- auth | | '-- splitwise_main.dart | '-- helper | '-- TokensHelper.dart '-- pubspec.yaml 

Usage

  • Import the package
dependencies: splitwise_api: ^2.0.3
  • Import in the file
import 'package:splitwise_api/splitwise_api.dart';
  • Setup SharedPreferences or any other system to save the token and tokenSecret to keep user logged in.
    • For Example :-
import 'package:shared_preferences/shared_preferences.dart'; class SplitWiseHelper { saveTokens(TokensHelper tokens) async { final prefs = await SharedPreferences.getInstance(); prefs.setStringList('tokens',[tokens.token,tokens.tokenSecret]); } getTokens() async { final prefs = await SharedPreferences.getInstance(); return prefs.getString('tokens'); } }
  • Now Use the Wrapper and save the tokens.
    • ForExample :-
import 'package:splitwise_api/splitwise_api.dart'; void main() async { SplitWiseService splitWiseService = SplitWiseService.initialize(_consumerKey, _consumerSecret); /// SplitWiseHelper is for saving and retrieving from shared storage  SplitWiseHelper splitWiseHelper = SplitWiseHelper(); if (splitWiseHelper.getTokens() == null) { var authURL = splitWiseService.validateClient(); print(authURL); //This Will print the token and also return them save them to Shared Prefs TokensHelper tokens = await splitWiseService.validateClient( verifier: 'theTokenYouGetAfterAuthorization'); await splitWiseHelper.saveTokens(tokens); splitWiseService.validateClient(tokens: tokens); } else { splitWiseService.validateClient( tokens: /* tokens from saved */); print(await splitWiseService.getCurrentUser()); } }

Hit like if it helped

Releases

No releases published

Packages

No packages published

Languages