ios - FQL 查询以查看用户是否喜欢某个帖子

标签 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。但是,我发现如果喜欢的帖子是在页面上发布的,而不是由 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/

相关文章:

permissions - 为什么 Facebook 图表需要视频的访问 token 而不是专辑?

ios - Swift - 如何在单元测试中禁用网络

ios - 用于在 iOS 上启动 Facebook Messenger 的自定义 URL

php - Facebook 图形 API : rendering posts like Facebook

ios - 从 iOS 应用程序使用另一个帐户登录 Facebook

ios - iOS 应用程序的 Facebook 登录在应用程序外部发生

c# - Xamarin iOS app.config 文件

ios - SLComposeViewController (twitter) 和 TWTweetComposeViewController 的字符计数不准确

iphone - 后备语言似乎不起作用(iOS/iPhone)

Facebook 分享网址仅在第二次点击时显示预览详细信息