我想在我的网站上发布Facebook评论+我自己的网站评论。
事情是在显示帖子时我想在每一个旁边显示评论数(所以我的评论+ facebook评论)。 我知道我可以使用https://graph.facebook.com/comments/?ids= {PAGE_URL}来实现这一点,但我每页有100个帖子,我不想每页100次这样的查询,更重要的是我想创建一个评论最多的小部件,我目前有1/4百万(250000)个帖子。
所以基本上我的问题是我如何在我的域/网站上留下的所有评论中访问数据库并对它们进行排序,这是对它们进行操作?
答案 0 :(得分:3)
以下是您可以执行此操作的一些示例:
您可以构建一个JSON查询数组,然后使用Rest API fql.multiquery方法来运行它们。例如,这将是您的JSON查询数组:
{
'query1': "select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='http://developers.facebook.com/docs/reference/fql/comment/')",
'query2': "select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='http://developers.facebook.com/docs/reference/fql/album/')"
}
使用fql.multiquery page上的测试控制台运行此操作,您将能够看到包含post_fbids列表的响应,然后您可以使用您喜欢的计数方法对其进行计数。
您可以在此处使用Batch Request一次运行所有查询。所以对于你要做的PHP示例:
curl \
–F ‘access_token=…’ \
-F ‘batch=[ \
{“method”: ”GET”, “relative_url”: ”comments/?ids={PAGE_URL1}”}, \
{“method”: ”GET”, “relative_url”: ”comments/?ids={PAGE_URL2}”}, \
{“method”: ”GET”, “relative_url”: ”comments/?ids={PAGE_URL3}”} \
]’\
https://graph.facebook.com
根据需要设置多个页面。
注意:鉴于两个API在您收到响应之前确实有一点延迟,显然建议您异步运行它们,这样就不会导致网站加载延迟显著。
答案 1 :(得分:1)
试试这个:
将网址分隔为逗号,如果您想使用图表API获取多个调用:
https://graph.facebook.com/comments/?ids=http://URL_1,http://URL_2,http://URL_n
答案 2 :(得分:0)
我认为对于您的用例,FQL最适合:https://developers.facebook.com/docs/reference/fql/comment/。 另外,如果你想使用图形API进行多次http调用,它总是很好地进行“批量调用”,如图API文档中所述。