使用“me/home”图表 API 调用用户的Facebook新闻,
现在,我一直在尝试许多方法,这些方法可以像列一样查询该邮政,并检查当前用户是否喜欢显示状态的邮件。基本上,我正在设置一个可以表示用户喜欢该邮件的图示。
我无法真正公布我迄今尝试过的任何代码,只是因为其中没有一个是有效的。而且相信我,我尝试过许多方法。
如果有人能至少证明我方向正确,我将不胜感激。
这是我最近一次尝试查询类似列, 并将结果与当前用户的 ID 比较:
这个代码是我正在检查相似点数并将其添加到一个阵列列表中。 这也是我运行查询以获取类似点数的地方 。
// GET THE POST S LIKES COUNT
if (json_data.has("likes")) {
JSONObject feedLikes = json_data.optJSONObject("likes");
String countLikes = feedLikes.getString("count");
postLikesCountArrayList.add(countLikes);
// TEST STARTS
// QUERY THE LIKES COLUMN TO CHECK YOUR LIKE STATUS ON A POST
Bundle params = new Bundle();
params.putString(Facebook.TOKEN, Utility.mFacebook.getAccessToken());
Utility.mAsyncRunner.request(finalThreadID + "/likes&limit=200", params, new LikesListener());
// TEST ENDS
} else {
String countLikes = "0";
postLikesCountArrayList.add(countLikes);
}
这个代码块是收听器( 同一活动的一个精密类), 检查结果 :
private class LikesListener extends BaseRequestListener {
@Override
public void onComplete(final String response, final Object state) {
try {
JSONObject JOLikes = new JSONObject(response);
JSONArray JALikes = JOLikes.getJSONArray("data");
for (int i = 0; i < JALikes.length(); i++) {
JSONObject JOTemp = JALikes.getJSONObject(i);
if (JOTemp.has("id")) {
String getTempID = JOTemp.getString("id");
if (getTempID.equals(initialUserID)) {
Runnable run = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
ImageView postYourLike = (ImageView) findViewById(R.id.postYourLike);
postYourLike.setBackgroundResource(R.drawable.btn_icon_liked);
}
};
TestNewsFeeds.this.runOnUiThread(run);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}