从网页聊天,(XMPP?Strophe?Punjab?)

我想在网页中实现FB聊天 。 我环顾了Facebook API,发现只允许使用XMPP进行聊天。 首先,我尝试使用Pidgin连接到FB聊天,它工作正常。 我的结论是,FB聊天服务器充当XMPP服务器。 这是真的?

我读到了XMPP,似乎应该在客户端和服务器之间建立一个开放的TCP连接,以交换从网站(通过JavaScript和无插件)无法实现的XML节,因为只有http请求/响应可以交换,没有TCP连接。 这意味着它们之间应该存在某种代理,而对于身份验证,FB API建议使用X-FACEBOOK-PLATFORM SASL(而不是DIGEST MD5,因为有代理)。 我没有找到一个明确的教程或步骤如何这样做,在这里的帮助表示赞赏。

在网络或浏览器上对XMPP客户端进行了更多的研究,我发现我应该使用一个名为Strophe的库(基于BOSH协议),并在其他答案中提供了一种名为旁遮普的连接管理器。 我读了关于这个BOSH协议,似乎是解决方案,但在一些地方,我发现它不允许在FB中(我不确定这个信息有多正确)。 我试图设置这些,但我完全困惑如何开始和我真的应该做的。

对于strophe,我没有找到一个真正的教程如何实现它,并在我发现,他们建议首先设置一个jabber服务器像ejabberd(我没有得到这个需要)。

我的问题是:

有人可以建议我应该实现的架构来实现我的目标吗?

那么会不会有: 网页 - >(HTTP) - > Strophe - >(TCP) - > FB聊天或者它之间会有一个XMPP服务器,为什么?

我会很感激任何我的问题的答案。 请建议一些链接以了解如何实施所有这些内容。 我对这一切都是全新的,这让我失去了一个多星期的时间。

如果有人已经这样做,请帮忙。 非常感谢。

沙巴


我也试图解决这个问题。 到目前为止,我已经决定建立:

Jappix mini(使用JSJAC.js库)< - > node-xmpp-bosh在我的服务器< - > Facebook服务器上的node.js上。

Jappix mini很难找到,但它似乎是迄今为止最好的开源聊天栏,所以在这里值得一提。

我没有把它全部设置好,但如果我取得进展,它会在这里更新。 主要问题将是如何使JSJAC使用Facebook API密钥认证。 我找不到任何信息或示例,但我发现这个插件可用于strophe库,可能适用于:

https://github.com/rubenjgarciab/turedsocial/blob/master/strophe-plugins/src/facebook.js

最后,你不能在Facebook中包含你的Facebook密钥(因为它是一个秘密!),所以你需要使用Facebook REST API auth.promoteSession服务器端来产生一个会话密钥,它可以在JavaScript中用来签署X -FACEBOOK-PLATFORM授权请求。

希望有所帮助,如果/当我得到它时,我会添加更多。


有关Facebook聊天服务器的信息:

Protocol: XMPP or Jabber
Username: mathvdh
Domain: chat.facebook.com
Jabber ID: mathvdh@chat.facebook.com
Password: <your Facebook password>
Port: 5222
Server: chat.facebook.com
Use SSL/TLS: no
Allow plaintext authentication: no

我认为strophe和旁遮普应该是fb聊天的工作组合,请参阅此处:XMPP库,供Facebook聊天使用

我认为这个模式更像是:

客户端网页/ js / strophe < - > yourserver / punjab < - > facebook xmpp聊天服务器


沙巴

正如前面的答案中所提到的,旁遮普语< - > strophe.js的作品。 我已经在这里分享了facebook客户端:https://github.com/javierfi​​gueroa/turedsocial,我添加了一个例子。

希望这可以帮助。

链接地址: http://www.djcxy.com/p/52591.html

上一篇: chat from a webpage, (XMPP? Strophe? Punjab?)

下一篇: How can I add "load more" option to table view