Obtenir un nom d'utilisateur de Google Plus dans Android

J'ai intégré Google plus avec mon application Android. Tout fonctionne bien, je suis également connecté à Google plus, mais je ne peux pas obtenir le nom de l'utilisateur actuel connecté.

public void onConnected(Bundle connectionHint) { String personName="Unknown"; if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) { Person currentPerson = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient); personName = currentPerson.getDisplayName(); } } 

Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) cette méthode renvoie toujours null .

  • Comment forcer un déconnexion de cache en utilisant Universal Image Loader Android?
  • Support de résolution différent Android
  • Android OpenGL ES 2, carrés de dessin
  • Android changez la version SDK dans Eclipse? Impossible de résoudre la cible Android-x
  • Multi-touch multiplate-forme java application (Windows, Mac et Linux (Ubuntu) (éventuellement Android))
  • Android - Partager sur Facebook, Twitter, Mail, ecc
  • Toute aide sera appréciée. Merci.

  • Jeu Android deux joueurs à jouer dans Internet
  • Android: installez .apk par programme
  • Google Analytics V4 avec périphériques Amazon
  • Comment utiliser l'effet Flipboard sur Android
  • L'élément de menu de la barre d'action onclick?
  • Quelles sont les différences entre le stockage interne, le stockage externe, la carte SD et le stockage amovible?
  • 5 Solutions collect form web for “Obtenir un nom d'utilisateur de Google Plus dans Android”

    Vous devez ajouter cette ligne:

     Plus.PeopleApi.loadVisible(mGoogleApiClient, null).setResultCallback(this); 

    Comme ça:

     public void onConnected(Bundle connectionHint) { /* This Line is the key */ Plus.PeopleApi.loadVisible(mGoogleApiClient, null).setResultCallback(this); String personName="Unknown"; if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) { Person currentPerson = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient); personName = currentPerson.getDisplayName(); ......... } } 

    Pour moi, la cause de cet appel qui a révélé nulle était que l'API Google+ n'était pas activée pour ma application. Accédez à https://console.developers.google.com , sélectionnez votre projet et activez l'API Google+ pour fonctionner!

    Dans mon cas, le null est revenu parce que j'ai ajouté cette ligne:

    AddScope (nouvelle portée (Scopes.EMAIL))

      mGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(Plus.API) .addScope(new Scope(Scopes.PROFILE)) //.addScope(new Scope(Scopes.EMAIL)) .build(); 

    ================= ACTUALISATION ======================== Les étendues doivent être définies comme ci-dessous:

     mGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(Plus.API) .addScope(Plus.SCOPE_PLUS_PROFILE) .addScope(Plus.SCOPE_PLUS_LOGIN) .build(); 

    Vérifiez que vous avez généré à la fois des débogues et des ID de client de production par les magasins clés SHA1. Il s'affiche dans l'onglet API et Auth -> Credentials de votre projet .

    La configuration de OAuth 2.0 pour la documentation Android indique:

    Dans un terminal, exécutez l'utilitaire Keytool pour obtenir l'empreinte SHA1 pour votre certificat public de fichier .apk signé numériquement.

    … exemple pour debug-keystore …

    Important: lorsque vous vous préparez à lancer votre application à vos utilisateurs, suivez ces étapes et créez une nouvelle ID de client OAuth 2.0 pour votre application de production. Pour les applications de production, utilisez votre propre clé privée pour signer le fichier .apk de l'application de production.

    J'ai essayé beaucoup d'approches, mais j'étais toujours confronté au même problème. Enfin, dans le fichier build.gradle de l'application, j'ai constaté que mon applicationId n'était pas le même que le nom du package dans Credentials. J'ai réparé cela et tout a fonctionné comme un charme.

    Ainsi, assurez-vous:

    • ApplicationId in build.gradle
    • Nom du package dans AndroidManifest.xml
    • Nom du package dans Credentials

    Sont tous les mêmes.

    J'espère que ça aide quelqu'un.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.