このリンク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
問題を解決するために、これらのリンクlink1、link2を参照しました。しかし、結果は常に 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);
に取得できますが、プロファイル情報を取得できません。
コードで何か見逃していませんか? 誰でもこの問題を解決するのを手伝ってもらえますか?