Drive Helper
Drive Helper is an easy to use library for interfacing with Google Drive and Google sign in.
It is a thin wrapper around google_sign_in
and googleapis
, making it much more intuitive for developers to use and integrate Google Drive into a project. If you already use the Drive API, then you probably have a wrapper class for initialisation and read/write, you can likely easily replace it with Drive Helper.
Get started
Follow the instruction in the tutorial to start using Drive Helper in your Flutter project, or migrate to it for an existing app.
Features
- Signs in to Google and maintains the account for you
- Exposed
DriveAPI
,GoogleSignIn
, andGoogleSignInAccount
to help with possibly missing functionality - Provides methods for
- Signing in to and signing out or disconnecting from Google accounts
- Searching, creating, reading, overwriting, appending, and deleting files
- Getting the account's name, email address, or avatar
- Predefined MIME types for use in creating and exporting files
- Predefined permission scopes for easily picking a suitable permission level apt for your purposes
Example
To have a look at an app that uses this library, see the app that inspired Drive Helper, BP Logger.
The code below shows how to initialise the library:
class MyApp extends StatelessWidget {
late DriveHelper driveHelper;
Widget build() {
return MaterialApp(
// Theming and other setting
body: FutureBuilder(
future: () async => await driveHelper = DriveHelper.initialise([
// Choose your scopes
]),
builder: (snapshot, context) {
if (snapshot.connectionState == ConnectionState.done &&
!snapshot.hasError) {
return HomePage(driveHelper: driveHelper);
} else if (snapshot.connectionState == ConnectionState.done &&
snapshot.hasError) {
return ErrorPage(error: snapshot.error);
} else {
return Container(
width: MediaQuery.of(context).size.width / 1.5,
height: MediaQuery.of(context).size.width / 1.5,
child: CircularProgrssIndicator(strokeWidth: 10),
);
}
}
),
);
}
}