【问题标题】:Using FQL or Graph API to retrieve comments from legacy fb:comments widgets使用 FQL 或 Graph API 从旧版 fb:comments 小部件中检索评论
【发布时间】:2012-05-23 06:31:27
【问题描述】:

我正在与一位客户合作,该客户一直在使用带有 xid 参数的 FBML fb:cmets 小部件在他们的博客上托管 cmets。在某个时候,他们添加了 migrated=1 参数。

我正在尝试通过 Graph API 或 FQL 检索这些 cmets 线程,但没有成功。我能够使用现代 JS cmets 小部件设置新页面并通过任一方法检索这些 cmets,但我不清楚旧 cmets 有何不同。

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

返回一个空集。我可以在link_stat表中找到该页面,该表准确显示了页面上的cmets数量,但尝试获取comment_fbid字段值的cmets也返回空集,两者都有

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 交互的指针将不胜感激。

【问题讨论】:

  • 您是否尝试在使用 FQL 时将 comment_fbid 放入 ''?

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


【解决方案1】:

您现在可能已经想通了 - 但是我花了很多时间来找出解决方案,这样其他人可能会觉得这很有用:

  • 获取访问令牌: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 也只会返回属于您的应用程序的 cmets。因此,以防万一您的 xid 是 1、2、3,您无需担心。事实上,在我的测试中,如果指定了 app_id,Facebook 将不会返回任何条目!(即使它与我用来检索访问令牌的相同)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 2019-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多