FQL查询以查看用户是否喜欢发布帖子

时间:2013-07-19 04:39:46

标签: ios facebook facebook-graph-api facebook-like facebook-fql

在我的应用中,我需要检查用户是否喜欢帖子。为此,我正在使用FQL查询

SELECT object_id FROM like WHERE object_id=postid AND user_id = me()

对于大多数帖子,这工作正常,它返回喜欢的帖子的post_id。但是,我发现如果喜欢的帖子是在页面上发布而不是由朋友发布的,那么这不起作用(不返回post_id)。因此,如果我喜欢发布一个帖子,一个页面发布,并发布一个朋友发布的帖子,那么查询只会说帖子b很受欢迎。

奇怪的是,当我运行查询以查看用户喜欢的所有帖子时

SELECT object_id FROM like WHERE user_id = me()

帖子a和b都显示为喜欢。但是,我想避免对用户喜欢发现的100个帖子的列表进行排序,无论用户是否喜欢相关帖子,并且获得完整列表的响应时间可能要长得多。有没有办法让查询显示所有喜欢的帖子(无论谁发布它)?或者这是api的限制或错误

1 个答案:

答案 0 :(得分:1)

要检查用户是否喜欢帖子,我们需要获取数据表单流表而不是表格,请按照以下要求

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