1

我正在与一个客户合作,该客户一直在使用带有 xid 参数的 FBML fb:comments 小部件来在他们的博客上托管评论已有一段时间了。在某些时候,他们添加了 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 )

就像使用 object_id = comment_fbid 对评论表进行 FQL 查询一样。

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

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

4

1 回答 1

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 查询以返回评论表中的任何参数。

app_id一个(实际上不是那么次要的)细节:即使没有显式参数,Facebook 也只会返回属于您的应用程序的评论。因此,以防万一您的 xid 是 1、2、3,您无需担心。事实上,在我的测试中,如果指定了 app_id,Facebook 将不会返回任何条目!(即使它与我用来检索访问令牌的相同)

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

于 2012-06-25T15:16:31.433 回答