我正在使用原型测试程序检查 XMPP Facebook 聊天 X-FACEBOOK 的功能。使用带有 Gmail 服务器的 geoloc 消息 XEP 0080 效果很好,但是当我尝试通过 X-FACEBOOK 发送相同的 XML 结构时,它会修剪消息并删除 GeoLoc 节点。我想问是否有人知道是否可以在 X-FACEBOOK 中发送 XEP 0080 消息,如果可以,我应该使用什么结构,以便 Facebook Chat XMPP 服务器不会修剪 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 更改为类似于您发布的那个,没有 pub sub,但仍然是同样的问题,接收者收到的消息缺少 GeoLoc 节点下的所有命名空间,我认为这是服务器不支持的结果格式。我可以尝试使用 IQ 订阅者选项,事情是我更喜欢找到一个可以直接将信息发送给用户的解决方案。如果有可能,即使是很小的一个,我也可以在 Facebook 服务器中从用户 A 向用户 B 发送有关 GeoLoc 的信息,这可能会有很大帮助,如果不是很好,我想我将不得不接受它。顺便说一句,谢谢帮助。