我对Facebook Graph API很陌生,我试图找出用户是否喜欢某个特定帖子。
现在,为了实现这一点,我得到了该帖子的所有喜欢,然后我遍历它们以找到匹配。但是当喜欢的数量太多时,这个程序需要很多请求,因为每个请求的最大喜欢数量似乎是100。
有没有更好的方法来检查用户是否喜欢这个帖子?
答案 0 :(得分:1)
请求喜欢(post_id?fields=likes.limit(0).summary(1)
)的摘要,然后您将获得如下所示的数据结构:
{
"likes": {
"data": [
],
"summary": {
"total_count": 1,
"can_like": true,
"has_liked": false
}
},
"id": "…"
}
属性can_like
和has_liked
反映了您用于发出请求的访问令牌的用户的值。
<强>更新强>
今天最新版的Graph API是v2.8。在这个版本中你也可以得到反应。使用反应比使用反应更好,因为反应还包括喜欢不喜欢的Love,WOW和HAHA等反应。
您可以添加反应摘要的字段,而不是喜欢的摘要,如下所示
fields=reactions.limit(0).summary(true)
使用此功能,您将获得如下的反应摘要
"reactions": {
"data": [
],
"summary": {
"total_count": 6,
"viewer_reaction": "LOVE"
}
}, ......
注意"viewer_reaction": "LOVE"
,这意味着你已经对爱的帖子做出了反应。它的值可以是LIKE, LOVE, HAHA, WOW, SAD, ANGRY, NONE
中的任何一个。 NONE
表示您不喜欢该帖子。