在我的应用程序中,我需要检查用户是否喜欢某个帖子。为此,我使用 FQL 查询
SELECT object_id FROM like WHERE object_id=postid AND user_id = me()
对于大多数帖子,这工作正常,它会返回喜欢的帖子的 post_id。但是,我发现如果喜欢的帖子是在页面上发布的,而不是由 friend 发布的,则此方法不起作用(不返回 post_id)。因此,如果我喜欢由页面发布的帖子 a 和由 friend 发布的帖子 b,则查询只会说帖子 b 被喜欢。
奇怪的是,当我运行查询来查看用户喜欢的所有帖子时
SELECT object_id FROM like WHERE user_id = me()
帖子 a 和 b 都显示为“喜欢”。但是,我希望避免对用户喜欢查找的 100 多个帖子列表进行排序,以查找用户是否喜欢相关帖子,并且获取完整列表的响应时间可能会更长。有什么方法可以让查询显示所有喜欢的帖子(无论是谁发布的)?或者这是 API 的限制或错误
最佳答案
要检查用户是否喜欢某个帖子,我们需要从流表而不是喜欢表中获取数据,请遵循以下请求
Request :
NSURL *requestURL = [NSURL URLWithString:@"https://graph.facebook.com/fql"];
NSMutableDictionary * params1 = [NSMutableDictionary
dictionaryWithObjectsAndKeys:[NSString stringWithFormat:
@"SELECT likes FROM stream WHERE post_id = '%@'",
postID],@"q",facebookOfflineAccessToken,@"accessToken",nil];
作为响应,我们将获得点赞总数和 user_likes 归档
Response :
"user_likes" = 0 //for not liked,
"user_likes" = 1 //for like
关于ios - FQL 查询以查看用户是否喜欢某个帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17738200/