extension_google_sign_in_as_googleapis_auth
A bridge package between Flutter's google_sign_in
plugin and Dart's googleapis
package, that is able to create googleapis_auth
-like AuthClient
instances directly from the GoogleSignIn
plugin.
Usage
This package is implemented as an extension method on top of the GoogleSignIn
plugin.
In order to use it, you need to add a dependency
to your pubspec.yaml
. Then, wherever you're importing package:google_sign_in/google_sign_in.dart
, add the following:
import 'package:extension_google_sign_in_as_googleapis_auth/extension_google_sign_in_as_googleapis_auth.dart';
From that moment on, your GoogleSignIn
instance will have an additional Future<AuthClient?> authenticatedClient()
method that you can call once your sign in is successful to retrieve an AuthClient
.
That object can then be used to create instances of googleapis
API clients:
// Retrieve an [auth.AuthClient] from the current [GoogleSignIn] instance.
final auth.AuthClient? client = await _googleSignIn.authenticatedClient();
assert(client != null, 'Authenticated client missing!');
// Prepare a People Service authenticated client.
final PeopleServiceApi peopleApi = PeopleServiceApi(client!);
// Retrieve a list of the `names` of my `connections`
final ListConnectionsResponse response =
await peopleApi.people.connections.list(
'people/me',
personFields: 'names',
);
Example
This package contains a modified version of Flutter's Google Sign In example app that uses package:googleapis
' API clients, instead of raw http requests.
See it here.
The original code (and its license) can be seen here.
Testing
Run tests with flutter test
.
Issues and feedback
Please file issues to send feedback or report a bug. Thank you!