こんにちは。APIメソッドを呼び出そうとしています。すべてうまくいき、サークルのリクエストでログイン画面がユーザーに表示され、サークルから人のリストを取得しようとするとすぐにブームになり、常にエラーが発生します!
Status{statusCode=NETWORK_ERROR, resolution=null}
私はそれが何を引き起こしているのかわからず、グーグルで私の問題に近いものは何も見つからなかったので、このメソッドをどのように呼び出すかコードを投稿してください。ここで、どのようにビルドして呼び出すかを示します。
public synchronized GoogleApiClient buildGoogleApiClient(final Activity activity) {
GoogleSignInOptions gGoogleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestScopes(new Scope(Scopes.PROFILE))
.requestScopes(new Scope(Scopes.PLUS_LOGIN))
.requestProfile()
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(activity)
.addApi(Auth.GOOGLE_SIGN_IN_API, gGoogleSignInOptions)
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(@Nullable Bundle bundle) {
Plus.PeopleApi.loadVisible(mGoogleApiClient, "me").setResultCallback(new ResultCallbacks<People.LoadPeopleResult>() {
@Override
public void onSuccess(@NonNull People.LoadPeopleResult loadPeopleResult) {
Toast.makeText(activity, "", Toast.LENGTH_SHORT).show();
Person person = loadPeopleResult.getPersonBuffer().get(0);
Log.d("fasfafasfsafasfas", "onSuccess: " + person);
}
@Override
public void onFailure(@NonNull Status status) {
if (status.hasResolution()) {
try {
// !!!
status.startResolutionForResult(activity, 100);
} catch (IntentSender.SendIntentException e) {
mGoogleApiClient.connect();
}
}
Log.d("fasfafasfsafasfas", "onFailure: " + status);
}
});
}
@Override
public void onConnectionSuspended(int i) {
Toast.makeText(activity, "fail", Toast.LENGTH_SHORT).show();
}
})
.addApi(Plus.API)
.build();
mGoogleApiClient.connect(GoogleApiClient.SIGN_IN_MODE_OPTIONAL);
return mGoogleApiClient;
}
それは常にネットワークエラーでonFailureコールバックに入ります..私が入力した何が間違っているのかわかりません.マニフェストで必要な権限は次のとおりです
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
私のコードの何が問題なのか教えてください。