splitwise_api 1.0.1 splitwise_api: ^1.0.1 copied to clipboard
A Wrapper over SplitWise API. * Uses OAuth 1 as Authentication. * Includes all methods stated on SplitWise DEV website.
SplitWise API for Dart #
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
| | |-- SingleUserEntity.dart
| | |-- categories_entity.dart
| | |-- comments_entity.dart
| | | (6 more...)
| | |-- post_response.dart
| | |-- postexpense.dart
| | '-- single_group_entity.dart
| '-- helper
| '-- TokensHelper.dart
'-- pubspec.yaml
Usage
- Import the package
dependencies:
splitwise_api: ^1.0.1
- 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(String text) async {
final prefs = await SharedPreferences.getInstance();
prefs.setString('tokens', text);
}
getTokens() async {
final prefs = await SharedPreferences.getInstance();
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