0

私のアプリは、 Facebook XMPP チャット APIを介して Facebook チャット メッセージを送信できました。

この質問で指摘されているように、予想されるメッセージ形式は

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

約 2 週間前、Facebook XMPP サーバーが突然メッセージを拒否し始め、

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

invalid-fromは、送信者 ID の形式が変更されたことを示しているようです。

私が気づいた 1 つの変更: xmpp 接続を確立するためのさまざまなハンドシェイク中に、Facebook は Jabber ID を次の形式で返すようになりました。

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

ただし、この jid を送信者 ID として使用しても機能しません。

他の誰かがこの問題に遭遇し、新しい形式を見つけましたか?

4

2 に答える 2

1

受信したメッセージは、XEP-0085 で定義されているように、単にユーザーのチャット状態を示すものであり、送信したメッセージとは直接関係ありません。これは、最初のメッセージが 2 番目のメッセージを潜在的にトリガーしなかったという意味ではありません。メッセージを送信したときに、使用しているライブラリがチャット状態も送信した可能性があります。このタイプのメッセージは、チャット相手がメッセージを入力していることを示すためにチャット クライアントでよく使用されます。

于 2013-09-04T02:46:02.160 に答える
1

fromメッセージにアドレスを入れないようにしてください。サーバーはそれを追加する必要があります。

于 2013-08-29T20:47:28.180 に答える