Google Android 人员错误 Status{statusCode=NETWORK_ERROR, resolution=null}
Google Android People error Status{statusCode=NETWORK_ERROR, resolution=null}
很好 day.I 我正在尝试调用 api method.All 一切顺利,登录屏幕正在根据其圈子的请求呈现给用户,我一收到就繁荣试图从圈子中获取人员列表总是出错!
Status{statusCode=NETWORK_ERROR, resolution=null}
我不知道是什么原因造成的,通过谷歌搜索,我发现没有任何东西更接近我的问题,所以很糟糕 post 我如何调用此方法的代码。
下面是我如何构建和调用它。
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" />
请告诉我我的代码有什么问题?
如果有人在这里遇到同样的问题是solution.You在获取圈子时不需要指定"me",同时像这样指定NULL
Plus.PeopleApi.loadVisible(mGoogleApiClient, null
).setResultCallback(new ResultCallbacks<People.LoadPeopleResult>() {
@Override
public void onSuccess(@NonNull People.LoadPeopleResult loadPeopleResult) {
int personCount = loadPeopleResult.getPersonBuffer().getCount();
Log.d("fasfafasfsafasfas", "onSuccess: " + personCount);
for (int i = 0; i < personCount; i++) {
Person eachPerson = loadPeopleResult.getPersonBuffer().get(i);
Log.d("fasfafasfsafasfas", "onSuccess: " + eachPerson.getImage().getUrl());
}
}
@Override
public void onFailure(@NonNull Status status) {
if (status.hasResolution()) {
try {
status.startResolutionForResult(activity, requestCode);
} catch (IntentSender.SendIntentException e) {
mGoogleApiClient.connect();
}
}
Log.d("fasfafasfsafasfas", "onFailure: " + status);
}
});
很好 day.I 我正在尝试调用 api method.All 一切顺利,登录屏幕正在根据其圈子的请求呈现给用户,我一收到就繁荣试图从圈子中获取人员列表总是出错!
Status{statusCode=NETWORK_ERROR, resolution=null}
我不知道是什么原因造成的,通过谷歌搜索,我发现没有任何东西更接近我的问题,所以很糟糕 post 我如何调用此方法的代码。 下面是我如何构建和调用它。
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" />
请告诉我我的代码有什么问题?
如果有人在这里遇到同样的问题是solution.You在获取圈子时不需要指定"me",同时像这样指定NULL
Plus.PeopleApi.loadVisible(mGoogleApiClient, null
).setResultCallback(new ResultCallbacks<People.LoadPeopleResult>() {
@Override
public void onSuccess(@NonNull People.LoadPeopleResult loadPeopleResult) {
int personCount = loadPeopleResult.getPersonBuffer().getCount();
Log.d("fasfafasfsafasfas", "onSuccess: " + personCount);
for (int i = 0; i < personCount; i++) {
Person eachPerson = loadPeopleResult.getPersonBuffer().get(i);
Log.d("fasfafasfsafasfas", "onSuccess: " + eachPerson.getImage().getUrl());
}
}
@Override
public void onFailure(@NonNull Status status) {
if (status.hasResolution()) {
try {
status.startResolutionForResult(activity, requestCode);
} catch (IntentSender.SendIntentException e) {
mGoogleApiClient.connect();
}
}
Log.d("fasfafasfsafasfas", "onFailure: " + status);
}
});