使用FQL或Graph API从旧版fb:comments小部件中检索评论

时间:2012-05-15 17:34:53

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

我正在与一位使用FBML fb:comments小部件的客户一起使用xid参数在他们的博客上托管评论已有一段时间了。在某些时候,他们添加了migrated = 1参数。

我试图通过Graph API或FQL检索这些注释线程,但没有成功。我能够使用现代JS评论小部件设置一个新页面并通过任一方法检索这些评论,但我不清楚遗留评论的不同之处。

http://graph.facebook.com/comments/?ids=(page_url

返回一个空集。我可以在link_stat表中找到该页面,该页面准确显示了页面上的注释数量,但尝试使用comment_fbid字段值获取注释也会返回空集合,同时

http://graph.facebook.com/(comment_fbid)/comments/

http://graph.facebook.com/comments/?ids=(comment_fbid

注释表上的FQL查询与object_id = comment_fbid一样。

我还尝试使用xid =(page_url)进行FQL查询,但无济于事。

关于遗留评论系统如何与Graph API或FQL交互的任何指示都将不胜感激。

1 个答案:

答案 0 :(得分:0)

可能你现在已经想到了这一点 - 但是我花了很长时间才找到解决方案,以便其他人可能会觉得这很有用:

  • 获取访问令牌:https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=<app_id>&client_secret=<app_secret>
  • 现在使用正确的FQL查询,其余的很简单:https://graph.facebook.com/fql?q=select%20post_id,%20time,%20text%20from%20comment%20where%20xid=<xid>&access_token=<access_token>select time, text from comment where xid=<xid>)。

显然,您可以自定义FQL查询以从comments table返回任何参数。

(实际上并非如此轻微)细节:即使没有明确的app_id参数,Facebook也只会返回属于您的应用程序的评论。所以,如果你的xids是1,2,3,你不需要担心。实际上在我的测试中如果指定了app_id,Facebook将不会返回任何条目!(即使它与我用来检索访问令牌的情况相同)

正如其他人所提到的那样,似乎无法获得应用的所有评论(无论xid还是url)。现在,帖子中有时引用的comments_info表似乎完全是空的。