Skip to content

srthkpthk/splitwise_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 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 Included

Steps

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

Project Structure

|-- .gitignore |-- .metadata |-- CHANGELOG.md |-- LICENSE |-- README.md |-- example | '-- example.dart |-- lib | |-- splitwise_api.dart | '-- src | '-- util | |-- auth | | '-- splitwise_main.dart | |-- data | | '-- model | | |-- categories_entity.dart | | |-- categories_entity.g.dart | | |-- comments_entity.dart | | | (18 more...) | | |-- post_response.g.dart | | |-- single_user_entity.dart | | '-- single_user_entity.g.dart | '-- helper | '-- TokensHelper.dart '-- pubspec.yaml 

Usage

  • Import the package
dependencies: splitwise_api: ^2.0.0
  • 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'; import 'package:splitwise_api/src/util/data/model/current_user_entity.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 */); //Example CurrentUserEntity currentUserEntity = await splitWiseService .getCurrentUser(); print(currentUserEntity.user.firstName); } }

Hit like if it helped

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages