1

Mon but est de se connecter à un BaaS avec le Google plus sdk, le BaaS nécessite un tokenId via googleSignInAccount.getIdToken() et un accessToken.Auth.GoogleSignInApi comme GoogleAuthUtil remplacement pour google plus se connecter

GoogleAuthUtil.getToken(activity, accountName, scopes); est dépréciée et a été utilisée pour obtenir accessToken.

GoogleAuthUtil.invalidateToken(activity, token); est également dépréciée.

Quelle est la méthode alternative pour obtenir accessToken et invalider (l'invalidation est-elle nécessaire maintenant)?

Je suis au courant et ont essayé: GoogleAuthUtil.getToken(Context, Account, String); et GoogleAuthUtil.clearToken(activity, token);

compte semble exiger une première autorisation de partie (donc pas une option) Ex. account = new Account(googleSignInAccount.getEmail(), "com.google"); et je sais si effacer est également invalide (semble fonctionner avec la méthode dépréciée cependant, je ne connais pas les répercussions), ou s'il y a d'autres appels/API à utiliser.

Comme de: com.google.android.gms.auth.api.Auth

Répondre

2

site développeur Google a une page sur la migration de GoogleAuthUtil.getToken

https://developers.google.com/identity/sign-in/android/migration-guide

Ce code n'est plus complaiming d'utiliser l'API dépréciée

private void loginInBackendless(final GoogleSignInAccount acct) { 
    Log.d(TAG, "handleSignInResult: try login to backendless"); 

    //final MainActivity mainActivity = (MainActivity)this.getActivity(); 
    //final String accountName = acct.getEmail(); 
    final String scopes = "oauth2:" + Scopes.PLUS_LOGIN + " " + Scopes.PLUS_ME + " " + Scopes.PROFILE + " " + Scopes.EMAIL; 
    final FragmentActivity fragmentActivity = this; 
    AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() { 
     @Override 
     protected String doInBackground(Void... params) { 
      String token = null; 
      try { 
       token = GoogleAuthUtil.getToken(fragmentActivity, acct.getAccount(), scopes); 
       GoogleAuthUtil.clearToken(fragmentActivity, token); 
       handleAccessTokenInBackendless(acct.getIdToken(), token); 
      } catch (UserRecoverableAuthException e) { 
       startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      return token; 
     } 
    }; 

    task.execute(); 
}