Я смог вытащить новостную ленту Facebook для зарегистрированного пользователя с помощью вызова API-интерфейса "me/home" и отобразить результат в действии.
Теперь я пытаюсь использовать множество методов, которые будут запрашивать столбцы, подобные столбцу, и проверять, понравилось ли текущему пользователю сообщение для отображения статуса. По сути, я настраиваю, чтобы указать, что пользователю понравилась запись.
Я не могу опубликовать какой-либо код, который я пробовал до сих пор просто потому, что никто из них не работает. И поверьте мне, я пробовал буквально множество методов.
Я был бы признателен, если бы кто-то мог, по крайней мере, подтолкнуть меня в правильном направлении.
EDIT: Это моя последняя попытка опросить столбцы lik и сравнить результат с текущим ID пользователя:
Этот код - это то, где я проверяю количество просмотров и добавляет их в ArrayList. Это также, когда я запускаю запрос, чтобы получить понравившиеся сообщения.
// 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);
}
И этот кодовый блок является Listener (приватным классом в той же активности), где проверены результаты:
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();
}
}
}
Вы можете использовать этот fql. Заменить post_id
SELECT likes.can_like, likes.user_likes FROM stream WHERE post_id = "1274834235_3976149403543"
ответ будет выглядеть так, если user_likes верно, ему это понравилось
{
"data": [
{
"likes": {
"can_like": true,
"user_likes": false
}
}
]
}