如何为返回JSON的Facebook设置XMPP服务器?

时间:2014-01-15 23:49:00

标签: json facebook xmpp chat

简而言之,这就是我想要做的事情:

  1. 查询网址,例如www.mysite.com/?action=GetOnlineList&access_token=[Facebook Token]
  2. 然后让该网址以JSON
  3. 在线返回所有用户的Facebook好友列表

    我还可以做一些其他的动作,比如“SendMessage”和“GetMessages”。

    我已经阅读了一段时间了,到目前为止,我已经收集到了我需要XMPP / Jabber才能做到这一点,但我不确切知道从哪里开始。

    创建OpenFire服务器是否允许我这样做?我根本不熟悉XMPP,所以我不知道如何从服务器中吐出JSON数据。我能在OpenFire服务器上设置类似的查询吗?

1 个答案:

答案 0 :(得分:0)

您不需要运行像Openfire这样的完整XMPP服务器,您希望以客户端的身份连接到Facebook(与用户一样)。

您需要两个组件;首先,您希望浏览器中的某些代码从Facebook的XMPP服务器请求信息。但是,您无法直接从浏览器直接连接到Facebook的XMPP(它们仅通过标准套接字支持XMPP),因此您还需要其他东西:服务器上的某种代理,用于连接代码。

有一些现成的解决方案,您可以在服务器上运行Strophe.js BOSH connection manager。这允许您登录用户的Facebook聊天并使用XMPP获取所需的信息。确保使用独立的BOSH代理,许多XMPP服务器(如Openfire,Prosody,ejabberd)都有自己的BOSH接口,但这些不允许您连接到Facebook。

由于您说您需要JSON,因此您可能会尝试使用其他几种方法,例如xmpp-ftwstanza.io。这两个都允许您仅通过JSON处理XMPP服务器,并且xmpp-ftw特别合适,因为它甚至包括您需要的代理部分(使用node.js)。它有详细记录的简单命令,您需要学习的唯一内容是一些XMPP基础知识,例如术语(“名册”是您的联系人列表,“在场”是某人的状态等。)