2014-11-28 6 views
5

В настоящее время я работаю над функцией входа в систему Google Plus в своем приложении.Plus.PeopleApi.getCurrentPerson возвращает null

Я создал GoogleApiClient строитель, как ниже

Plus.PlusOptions options = new Plus.PlusOptions.Builder() 
      .addActivityTypes("http://schemas.google.com/AddActivity") 
      .build(); 

    myGoogleApiClient = new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      // .addApi(Plus.API, Plus.PlusOptions.builder().build()) 
      .addApi(Plus.API, options) 
      .addScope(Plus.SCOPE_PLUS_LOGIN) 
      .addScope(Plus.SCOPE_PLUS_PROFILE).build(); 

и метод onConnected

@Override 
public void onConnected(Bundle arg0) { 
    // TODO Auto-generated method stub 

    plusUtilities.ShowToast("Login successful"); 

    updateGPbutton(); 
    // hide progress DiaLog 
    plusUtilities.DissmissPD(); 
    // it has deprecated 
    // plusUtilities.ShowToast("Login to Google+ with " + 
    // mPlusClient.getAccountName().toString()); 

    // upgraded class 
    plusUtilities.ShowToast("Login to Google+ with " 
      + Plus.AccountApi.getAccountName(myGoogleApiClient).toString()); 

    // deprecated 
    // mPlusClient.loadPeople(this, "me"); 

    Plus.PeopleApi.load(myGoogleApiClient, "me"); 
    // plusUtilities.ShowPD("Fetching user data... "); 

    // upgraded and call fetch_user_details method here instead of calling 
    // in onPersonLoad() override method 
    Log.d("Googleplusclient", 
      "" + Plus.PeopleApi.getCurrentPerson(myGoogleApiClient)); 
    Plus.PeopleApi.loadVisible(myGoogleApiClient, null).setResultCallback(this); 

    if (Plus.PeopleApi.getCurrentPerson(myGoogleApiClient) != null) { 
     Person currentPerson = Plus.PeopleApi 
       .getCurrentPerson(myGoogleApiClient); 
     fetch_User_Details(currentPerson); 
    } 

} 

Ниже метод возвращает нуль

Plus.PeopleApi.getCurrentPerson (myGoogleApiClient)

I следует за the link fo r. Затем я последовал за этим developer link. Пока я получаю нулевое значение.

Как это решить?

ответ

12

Ну, дело в том, что ваша подпись DEBUG sha1 отличается от вашей customkey.keystore sha1 signature !!!! , поэтому вы должны найти свою подпись отладки sha1 и создать этот ключ в учетных данных API на консоли Google ASWELL! : D это работает и исправляет это, поверьте мне, проверьте свою консоль api, и я ставлю, что ваши запросы api равны 0?

+1

что-нибудь под заказkey.keystore sha1 подпись! ? – tranquil

+1

@tranquil - это означает ваше освобождение .keystore, которое следует использовать для подписания вашей версии выпуска/версии приложения –