Requesting additional scopes after sign-in

Your app can request additional scopes any time after the initial scopes have been granted. In this case, only those additional scopes will appear in the user's consent screen. Your app should request all previously granted scopes with these additional scopes to ensure your app proceeds with all the access it expects.

Before you begin

You must complete the basic Google Sign-In integration.

Requesting additional scopes

To request additional scopes, append the new scopes to the scopes property of the GIDSignIn shared instance, then call the signIn method to request consent. For example, to request read-only access to a user's Drive:

NSString *driveScope = @"https://www.googleapis.com/auth/drive.readonly";
NSArray *currentScopes = [GIDSignIn sharedInstance].scopes;
[GIDSignIn sharedInstance].scopes = [currentScopes arrayByAddingObject:driveScope];

[[GIDSignIn sharedInstance] signIn];

You might use this technique if you suspect users are avoiding sign-in because your consent screen is overwhelming new users, or if you think users are confused why they are being asked for certain permissions. In either case, you can delay the additional scopes and present them just before they are needed.