0

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

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

对于大多数帖子,这可以正常工作,它会返回喜欢帖子的 post_id。但是,我发现如果被赞的帖子是在页面上发布的,而不是由朋友发布的,这不起作用(不返回 post_id)。因此,如果我喜欢由某个页面发布的帖子 a 和由朋友发布的帖子 b,则查询只会说帖子 b 被点赞。

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

SELECT object_id FROM like WHERE user_id = me()

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

4

1 回答 1

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 
于 2014-02-28T12:57:28.153 回答