Facebook聊天(XMPP)XEP 0080支持

我正在使用原型测试程序检查XMPP Facebook聊天功能X-FACEBOOK。 它使用geoloc消息XEP 0080和Gmail服务器运行良好,但是当我尝试通过X-FACEBOOK发送相同的XML结构时,它会修剪消息并删除GeoLoc节点。 我想询问是否有人知道是否可以在X-FACEBOOK中发送XEP 0080消息,如果有的话,我应该使用哪种结构,以便Facebook Chat XMPP Server不会修剪GeoLoc信息。

发送了XMPP geoloc消息:

<message to="-100002578491827@chat.facebook.com" from="4yony4@chat.facebook.com/19256ca9_4C5CC12947646" type="chat" xml:lang="en">
<event xmlns="http://jabber.org/protocol/pubsub#event">
     <items node="http://jabber.org/protocol/geoloc">
          <item id="">
              <geoloc xmlns="http://jabber.org/protocol/geoloc">
                   <lat>40.488137</lat>
                   <lon>-3.397623</lon>
                   <timestamp>2012-07-27 09:09:50 GMT</timestamp>
                   <msgType>0</msgType>
              </geoloc>
          </item>
      </items>
</event>
<body> 

</body>

客户收到的消息:

<message xmlns="jabber:client" from="-1177157556@chat.facebook.com" to="" type="chat">
    <active xmlns="http://jabber.org/protocol/chatstates"/>
 <body></body>
</message>

任何解决方案或意见将不胜感激。


好吧,将XML更改为与发布的XML类似,但不包含pub sub,仍然是同样的问题,收件人收到的消息缺少GeoLoc节点下的所有命名空间,我认为这是由于Server不支持格式。 我可以尝试使用IQ订户选项,事情是我更喜欢找到一种解决方案,我可以直接将信息发送给用户。 如果有可能,即使是我可能能够在Facebook服务器上发送关于从用户A到用户B的GeoLoc的信息的一个小的可能性,如果不是很好,我想我将不得不接受它。 Thx的帮助顺便说一句。


当我测试facebook XMPP连接时,它几乎不支持任何扩展,并且阻止了服务器上的所有自定义标记。 它能够发送基本的存在,基本信息,电子名片,而且这是它所能做的一切。

Pubsub事件应发送到服务。 现代XMPP服务器也支持PEP扩展,您可以将pubsub发送到服务器本身。 在其他情况下,请按照Robin的建议,将消息与目标用户一起使用。

我不认为Facebook有任何与pubsub服务器。 此外,我认为它仍然过滤任何不支持的名称空间。 随时可以证明我是错的,自从我上次测试以来,这已经超过一年了。


这些不是同一条消息。

收到的消息只是XEP-0085中定义的用户聊天状态的一个指示符,与您发送的消息没有直接关系。 这并不意味着第一个可能会触发第二个,无论你使用的是什么图书馆,当你发送信息时都可能发送了聊天状态。 这种类型的消息通常用于聊天客户端,以表明您正在与之聊天的某人正在输入消息。

问题可能是你发送的消息实际上是一个PEP消息。 这意味着由服务器中的PEP服务发送,而不是来自客户端。 我不知道Facebook是否支持PEP,但是我猜想由于你错误地使用了一个已知的命名空间,它会被过滤掉。 PEP或Pubsub是发布地理位置信息的推荐方式,但要利用那些必须向服务发送IQ数据包的消息,而不是向其他客户端发送消息。

试试这个(不是说它会工作,但至少pubsub的东西被剥离):

<message to="-100002578491827@chat.facebook.com" from="4yony4@chat.facebook.com/19256ca9_4C5CC12947646" type="chat" xml:lang="en">
   <geoloc xmlns="http://jabber.org/protocol/geoloc">
      <lat>40.488137</lat>
      <lon>-3.397623</lon>
      <timestamp>2012-07-27 09:09:50 GMT</timestamp>
      <msgType>0</msgType>
   </geoloc>
   <body> 
   </body>
</message>

我想要第二个Pihhan。 Facebook XMPP服务器似乎将消息重构为仅包含消息正文,日期和时间戳。 我认为他们这样做是为了保持它与评论图形对象相同。

这很烦人,但我怀疑这是故意的。 毕竟,他们的Graph是主要问题,而不是XMPP。

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

上一篇: Facebook Chat (XMPP) XEP 0080 support

下一篇: based XMPP chat facility using PHP and JQuery?