2017-03-22 3 views
0

J'écris actuellement une application de connexion googleplus et je suis bloqué pour obtenir un jeton d'accès de google. J'ai lu la documentation de google plus sur l'obtention d'un jeton d'accès here. Et je ne suis pas sûr de savoir comment l'implémenter.Obtenir un jeton d'accès de GooglePlus Identifiez-vous

ci-dessous montre une partie de mon code qui implémente le signe gplus dans:

public class GplusAction implements LoginInterface,LogoutInterface{ 

private GoogleApiClient googleApiClient; 
private GoogleSignInOptions googleSignInOptions; 
private Context context; 
private final static int REQ_CODE = 777; 
private Intent signInIntent; 
private String accountname; 

public GplusAction(Context context) { 
    this.context = context; 

    googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
      .requestEmail() 
      .build(); 

    googleApiClient = new GoogleApiClient.Builder(context) 
      .addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions) 
      .build(); 
} 


@Override 
public void login() { 
    signInIntent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient); 
    startActivityForResult((Activity) context, signInIntent, REQ_CODE, null); 
} 

@Override 
public void logout() { 
    Auth.GoogleSignInApi.signOut(googleApiClient); 
} 


@Override 
public void get_onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(requestCode == REQ_CODE){ 
     GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(signInIntent); 
    } 
} 

J'ai essayé d'utiliser GoogleAuthUtils mais il semble avoir dépréciée comme décrit dans le lien ci-dessus.

Voici donc mes questions: - Comment récupérer un jeton d'accès en utilisant la nouvelle méthode?

Des idées?

Répondre

0

Pour obtenir un jeton d'authentification auprès du serveur, vous devez suivre les étapes ci-dessous.

1) Obtenir l'ID client pour l'application Web de la console Google pour votre projet d'application.

2) Créer une instance de GoogleApiClient en dessous de GoogleSignInOptions en passant au-dessus de l'ID du client. 3) Vous pouvez récupérer le jeton d'identifiant depuis GoogleSignInResult après une connexion réussie.

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 

if (result.isSuccess()) { 
    GoogleSignInAccount acct = result.getSignInAccount(); 
    String idToken = acct.getIdToken(); 
} 
+0

Hey! merci d'avoir répondu. J'ai exécuté un débogage sur votre code et j'ai obtenu: "authCode = null", ce qui signifie que le jeton d'authentification ne peut pas être récupéré. Un moyen de contourner cela? –

+0

Bonjour Eugène, j'ai posté un mauvais code, il devrait être getIdToken(). Je l'ai retesté et j'ai obtenu un jeton. Assurez-vous d'utiliser l'ID client de l'application Web lors de la création de GoogleSignInOptions. –

+0

Salut! Merci pour la réponse. J'ai aussi essayé avec getIdToken() et j'ai obtenu un jeton en retour. Parfait! Merci encore à un groupe! –