2

このリンクhttps://developers.google.com/identity/sign-in/android/sign-in?configuredを参照して、プロジェクトに google+ ログインの統合を開始しました。これで、開発者コンソールで Google+ API を有効にし、sha1 証明書を構成し、構成 (google-services.json) ファイルをダウンロードして、プロジェクトのアプリ モジュールに貼り付けました。

アプリを実行した後、正常にログイン (接続) できます。また、onConncected() 関数も呼び出されます。今、次のコードを使用してプロファイル情報を取得しました

  @Override
public void onConnected() {

  if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) {
    Person currentPerson = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);
    String personName = currentPerson.getDisplayName();
    String personPhoto = currentPerson.getImage().getUrl();
    String personGooglePlusProfile = currentPerson.getUrl();
  }
}

しかし、getCurrentPerson() は常に null をスローします。logcat に次のエラーが表示されます

BasicNetwork.performRequest: Unexpected response code 403 for https://www.googleapis.com/plus/v1/people/me

問題を解決するために、これらのリンクlink1link2を参照しました。しかし、結果は常に null をスローします。

次のコードを使用して ApiClient を接続しています

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

接続されたメールは正常 Plus.AccountApi.getAccountName(mGoogleApiClient);に取得できますが、プロファイル情報を取得できません。

コードで何か見逃していませんか? 誰でもこの問題を解決するのを手伝ってもらえますか?

4

1 に答える 1

0

Google + API を有効にしている場合は、エディタで sha1 を使用してアプリのクライアント ID を作成します。うまくいくことを願っています。

mGoogleApiClient = new GoogleApiClient.Builder(LoginActivity.this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this).addApi(Plus.API)
            .addScope(Plus.SCOPE_PLUS_LOGIN).build();
于 2015-10-20T10:22:42.303 に答える