Jeton de la valeur null de connexion de Compte Google
Je suis en suivant l'exemple de google pour obtenir le jeton mais sans succès.
Toujours ne parvient pas à acquérir le jeton.
C'est la dernière façon dont Google affiche sur votre page de développeurs
Je crois que l'erreur n'est pas dans mon code
private String CLIENTE_ID = "...apps.googleusercontent.com";
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(CLIENTE_ID)
.requestEmail()
.build();
//Build GoogleAPIClient with the Google Sign-In API and the above options.
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
imgBGoogle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, 9002);
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == 9002) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleSignInResult(result, data);
}
if (requestCode == 9002) {
//[START get_id_token]
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
Log.d(TAG, "onActivityResult:GET_TOKEN:success:" + result.getStatus().isSuccess());
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
String idToken = acct.getIdToken();
//Show signed-in UI.
Log.d(TAG, "idToken:" + idToken);
Log.d(TAG, "\n ");
//TODO(user): send token to server and validate server-side
} else {
//Show signed-out UI.
Log.d(TAG, "idToken: fail");
}
//[END get_id_token]
}
}
private void handleSignInResult(GoogleSignInResult result, Intent data) {
getToken1(data);
getToken2(result);
String BOOKS_API_SCOPE = "https://www.googleapis.com/auth/books";
String GPLUS_SCOPE = "https://www.googleapis.com/auth/plus.login";
String mScopes = "oauth2:" + BOOKS_API_SCOPE + " " + GPLUS_SCOPE;
}
void getToken1(Intent data){
GoogleSignInResult a = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (a.isSuccess()) {
Log.d(TAG, "TOKEN 1: " + a.getSignInAccount().getIdToken());
Log.d(TAG, "DISPLAY NAME 1: " +a.getSignInAccount().getDisplayName());
Log.d(TAG, "ID 1: " + a.getSignInAccount().getId()+"\n ");
}else{
Log.d(TAG, "ID 1: falhou"+"\n ");
}
}
void getToken2(GoogleSignInResult result){
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
Log.d(TAG, "TOKEN 2: " + acct.getIdToken());
Log.d(TAG, "DISPLAY NAME 2: " + acct.getDisplayName());
Log.d(TAG, "ID 2: " + acct.getId()+"\n ");
}else{
Log.d(TAG, "ID 2: falhou"+"\n ");
}
}
comment puis-je obtenir le jeton?
quelqu'un peut-il m'aider?
Merci de lire ma réponse à stackoverflow.com/questions/34099208/google-sign-in-idtoken pour voir si cela peut aider ou pas
fonctionne pas 🙁
Êtes-vous sûr que votre application utilise l'application Web de type Id, pas Android-type?
de type web @BNK 🙁
[i.stack.imgur.com/6keg0.png] vérifiez s'il vous plaît @BNK
fonctionne pas 🙁
Êtes-vous sûr que votre application utilise l'application Web de type Id, pas Android-type?
de type web @BNK 🙁
[i.stack.imgur.com/6keg0.png] vérifiez s'il vous plaît @BNK
OriginalL'auteur FlipNovid | 2016-01-08
Vous devez vous connecter pour publier un commentaire.
Je viens de tombé sur le même problème, je n'étais pas à l'aide d'un web client OAuth, il a travaillé à l'aide de la firebase et j'ai pensé à cette solution plus simple serait peut-être utile à quelqu'un.
Il n'est pas nécessaire de définir default_web_client_id, il fonctionnera comme collé. C'est une chaîne de caractères générée par google-services plugin.
OriginalL'auteur Faisal
Il semble que votre code est bien, mais essayer de suivre le guide officiel exactement. Cela a fonctionné pour moi:
http://android-developers.blogspot.com/2016/03/registering-oauth-clients-for-google.html
Assurez-vous d'utiliser le web jeton, essayez d'en créer un nouveau et de l'utiliser.
Pas fonctionné pour moi
Vous obtenez un id_token arrière de sorte qu'il devrait être oauth2/v3/tokeninfo?id_token=xxx
OriginalL'auteur zkvarz
OriginalL'auteur Caner Yılmaz