Google Plus Access Access Token Realvista
-
23-12-2019 - |
Domanda
Ho bisogno di ottenere il token di accesso e inviarlo al server.Con questo server di token di accesso dovrebbe ottenere tutti i dettagli dell'utente, come nome, immagine del profilo ed e-mail.
Posso ottenere il token di accesso utilizzando Scopes.Plus_login e Scopes.Plus_me , ma con quel server del token di accesso non può ottenere un'e-mail dell'utente.
Ecco il mio codice:
@Override
public void onConnected(Bundle arg0) {
mSignInClicked = false;
AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
String token = null;
String scope = "oauth2:" + Scopes.PLUS_LOGIN + " " + Scopes.PLUS_ME;
try {
token = GoogleAuthUtil.getToken(
getApplicationContext(),
Plus.AccountApi.getAccountName(mGoogleApiClient),
scope);
appUser.setToken(token);
} catch (IOException transientEx) {
// Network or server error, try later
Log.e(TAG, transientEx.toString());
} catch (UserRecoverableAuthException e) {
// Recover (with e.getIntent())
} catch (GoogleAuthException authEx) {
// The call is not ever expected to succeed
// assuming you have already verified that
// Google Play services is installed.
Log.e(TAG, authEx.toString());
}
return token;
}
@Override
protected void onPostExecute(String token) {
Log.i(TAG, "Access token retrieved:" + appUser.getToken());
// Get user's information
}
};
}
.
Qualcuno sa come risolvere questo problema?
Soluzione
Ti manca lo scope
https://www.googleapis.com/auth/userinfo.email
.
Ho testato gli altri scopi e solo quello sembra restituire l'e-mail degli utenti.Puoi testare i diversi ambiti e ciò che ritornano qui: Persone: Ottieni .
Nota: non sono un programmatore Android, probabilmente avrai una buona fortuna di scoprire come richiedere questo scopo con Android.Sto cercando, ma non sono stato in grado di trovarlo.
Sembra che lo scopo potrebbe essere solo e-mail https://developers.google.com/+ / API / OAUTH # Email