Android 如何使用Facebook api v2.6?
我想集成最新的Facebook API v2.6。我不知道如何在应用程序中实现它Android 如何使用Facebook api v2.6?,android,facebook,Android,Facebook,我想集成最新的Facebook API v2.6。我不知道如何在应用程序中实现它 login_button.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { /* make the API call */
login_button.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"me?fields=email,name,last_name,id,first_name",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
//Getting Error Here
Log.d("JSON", "" + response.getJSONObject().toString());
}
}
).executeAsync();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException exception) {
}
});
}
这不是最新的api版本。如何确定这不是最新版本的api?请查找图形请求method@user6071487兄弟,有很多方法可以从facebook登录获取数据,这意味着不是这个老APIC创建一个新的应用程序,它将自动使用当前的最新版本。我不知道你的问题是什么…我不知道错误消息与API版本有什么关系。。。您要求的所有字段都已存在于以前的API版本中。@CBroe如果这不是问题,我的语法中是否有问题?否,则您将得到不同的错误,分别为。整个事情一开始都不会发生。您有一个NullPointerException,菜单显示您正在尝试访问一个仅为Null的对象的属性/方法。因为它提到了onCompleted处理程序,所以我假设您的调试输出行就是问题所在,response.getJSONObject.toString–如果response为Null,则会出现该错误。因此,直接将响应对象记录到控制台,并查看它包含的内容可能是来自API的错误消息。
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException
at com.facebookLive.FacebookLiveActivity$1.onCompleted(FacebookLiveActivity.java:89)
GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object,GraphResponse response) {
final JSONObject json = response.getJSONObject();
try {
if(json != null){
Log.e(TAG, json.getString("name"));
Log.e(TAG, json.getString("email"));
Log.e(TAG, json.getString("id"));
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,link,email,picture");
request.setParameters(parameters);
request.executeAsync();
}