与墙/饲料接口

时间:2011-08-29 13:32:42

标签: facebook facebook-wall

这是我第一次尝试开发Facebook应用程序,如果我的问题太天真,请提前抱歉。

我需要做的是制作一个类似聊天的facebook应用程序:

  1. 用户可以在墙上写点东西
  2. 应用程序应该能够检测到此事件并将HTTP请求发送到我自己的外部Web服务,该服务将提供响应(文本)
  3. 将该文本发布为评论
  4. 用户应该可以通过输入其他评论来继续对话框(在这种情况下,我们会回到第2步)
  5. 基本上,这与以下内容非常相似: https://www.facebook.com/SkyscannerFlightSearch

    我认为一种(丑陋的)方法是制作一个脚本,通过使用Graph API来搜索新的墙条目/评论并在无限循环中发布回复,但它显然是次优和昂贵的。

    每次输入墙贴/评论时,有没有办法让facebook调用某个网址? 或者像Twitter's streaming API基于长轮询技术的东西? 通过假设这样的解决方案,我是否正确的方向,或者我完全忽略了这一点?

    提前致谢。

2 个答案:

答案 0 :(得分:1)

我正在做一些非常相似的事情。

到目前为止,我有“循环”,可以设置为Facebook上的任何页面,组或应用程序。

示例:https://shawnsspace.com/plugins/wallfeed.php我的页面墙。 示例:https://shawnsspace.com/plugins/wallfeed.php?pageid=19292868552&ptype=feed&limit=40 Facebook平台墙。

通过一些perms,一个表单和用户access_tokens,我可以使墙可以发布。 Asper UGLY - 你不需要在循环中运行它,Facebook支持实时更新,并在用户或页面进行更改时向你的应用程序发送响应。

更多:http://developers.facebook.com/docs/api/realtime

答案 1 :(得分:1)

感谢您的投入。 我尝试使用object = user和fields = feed来使用实时API。 如果我正确理解了doc,那么每当用户在我的应用程序的墙上写一些东西时,这应该会导致我的回调url被调用(POST)。

我收到了初始GET请求,但从未发过POST。 这是当前的配置:

{
   "data": [
      {
         "object": "user",
         "callback_url": "http://XXX.XXX.XXX.XX:8888/",
         "fields": [
            "feed"
         ],
         "active": true
      },
      {
         "object": "page",
         "callback_url": "http://XXX.XXX.XXX.XX:8888/",
         "fields": [
            "picture"
         ],
         "active": true
      }
   ]
}

我注意到各种用户评论报告了对此API可靠性的不同担忧。 也在这里: http://developers.facebook.com/docs/reference/api/page/ 它说:“注意:页面签到的总数尚不支持实时更新。” ......我不确定它究竟意味着什么。

为了记录,我用于测试的应用程序页面是: http://www.facebook.com/pages/testgiamp/187148861354102?sk=wall