2017-03-22 2 views
0

Ich schreibe gerade ein googleplus-Zeichen in der App und bin dabei, einen Zugriffstoken von Google zu bekommen. Ich habe Google plus Dokumentation über das Erhalten eines Zugriffs-Tokens here gelesen. Und ich bin mir nicht sicher, wie ich es umsetzen soll.Zugriff auf Token von GooglePlus Anmelden

unten zeigt einen Teil meines Codes, die das GPlus Zeichen implementiert in:

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); 
    } 
} 

Ich habe versucht, GoogleAuthUtils verwenden, aber es scheint veraltet zu sein, wie in dem Link oben beschrieben.

Also hier sind meine Fragen: - Wie bekomme ich Zugriffstoken mit der neuen Methode abrufen?

Irgendwelche Ideen?

Antwort

0

Um Authentifizierungs-Token zur Authentifizierung mit dem Server zu erhalten, müssen Sie die folgenden Schritte ausführen.

1) Erhalten Sie Client-ID für Web-Anwendung von Google Console für Ihr App-Projekt.

2) Erstellen Sie eine Instanz von GoogleApiClient mit unter GoogleSignInOptions übergeben über Client-ID.

3) Sie können ID-Token von GoogleSignInResult nach erfolgreicher Anmeldung abrufen.

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

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

Hey! Danke für Ihre Antwort. Ich habe einen Debug-Code ausgeführt und bekam: "authCode = null", was bedeutet, dass das Authentifizierungs-Token nicht abgerufen werden kann. Irgendwo in der Nähe? –

+0

Hallo Eugene, ich postete falschen Code, es sollte getIdToken() sein. Ich habe es erneut getestet und Token bekommen. Stellen Sie sicher, dass Sie bei der Erstellung von GoogleSignInOptions die Webanwendungs-Client-ID verwenden. –

+0

Hallo! Danke für die Antwort. Ich habe es auch mit getIdToken() versucht und dafür ein Token bekommen. Perfekt! Nochmals vielen Dank! –

Verwandte Themen