经过几天的文档和无休止的搜索结果的挣扎,我一直无法找到解决我的问题的方法,因为:
我试图通过Android SDK获取公开的Facebook页面提要,然后从中过滤帖子。到目前为止,我已经停留在获取Feed上了。 使用Graph API资源管理器我可以轻松获取Feed,但是,当我尝试在我的应用中显示Feed JSON项时,我收到错误。即使,以下内容:
FATAL EXCEPTION: main
Process: be.thomasmore.alloallo, PID: 2191
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.json.JSONArray.toString()' on a null object reference
这是我的代码:
private void getPostsFromFacebook() {
GraphRequest request = GraphRequest.newGraphPathRequest(
AccessToken.getCurrentAccessToken(),
"/BulletForMyValentine/feed",
new GraphRequest.Callback()
{
@Override
public void onCompleted(GraphResponse response) {
JSONArray posts = response.getJSONArray();
Log.e("testlogLog", posts.toString());
for(int j=0; j<posts.length();j++) {
textView.setText("nogeenpost");
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "message,id,created_time");
request.setParameters(parameters);
request.executeAsync();
}
提前感谢您的帮助,如果我在其他帖子中错过了答案,我表示诚挚的歉意。
答案 0 :(得分:0)
由于只是调用JSONObject而不是JSONArray
,我设法解决了这个问题JSONArray posts = response.getJSONArray();
应该是
JSONArray posts = response.getJSONObject();
这是因为我误读了JSON字符串。