有时随机我的一些用户从facebook图形请求中获取空值。但我向用户请求的唯一内容是电子邮件地址?让我们说usr没有电子邮件地址,但使用电话号码注册Facebook。那么为什么原始服务器响应为空。我的大多数用户都在工作。无论如何,让我告诉你我的图表请求看起来是什么样的:
GraphRequest request = GraphRequest.newMeRequest(
token,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject userInfo, GraphResponse response) {
if (userInfo == null)
Crashlytics.log("facebook graph info null:" + response.getRawResponse());
String email = "";
try {
email = userInfo.getString("email");
} catch (JSONException e1) {
e1.printStackTrace();
/* sometimes i end up in this catch block and the rawResponse object is null
}
presenter.presentPasswordPrompt(task, email, credential);
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "email");
request.setParameters(parameters);
request.executeAsync();
正如您所看到的,当用户信息为空时我正在打印日志,但来自response.getRawResponse()的值本身为null,因此我无法弄清楚问题是什么。