Facebook xmpp聊天消息

时间:2013-08-26 03:03:04

标签: facebook-graph-api xmpp facebook-chat

我的应用曾经可以通过Facebook XMPP chat API发送Facebook聊天消息。

正如this问题所指出的,预期的消息格式是

<message from="-sender_ID@chat.facebook.com" to="-receiver_ID@chat.facebook.com">
    <body>message body</body>
</message>

大约两周前,Facebook XMPP服务器突然开始拒绝消息,返回

<stream:error>
  <invalid-from xmlns="urn:ietf:params:xml:ns:xmpp-streams"/>
</stream:error>

invalid-from 似乎表明发件人ID的格式已更改。

我注意到的一个变化:在建立xmpp连接的各种握手期间,Facebook现在以下列格式返回Jabber ID:

<jid>-0@chat.facebook.com/fb_xmpp_script_<somehexstring></jid>

使用此jid作为发件人ID也不起作用。

有没有其他人遇到过这个问题并想出了新的格式?

2 个答案:

答案 0 :(得分:1)

尽量不在邮件中加from地址。服务器应该为您添加。

答案 1 :(得分:1)

收到的消息只是用户聊天状态的指示符,如XEP-0085中所定义,与您发送的消息没有直接关系。这并不意味着第一个没有潜在地触发第二个,无论你使用什么库,你发送消息时也可能发送了聊天状态。此类消息通常用于聊天客户端,以指示您正在聊天的人正在键入消息。