-1

xmpp Windowsライブメッセンジャーをphpに接続するにはどうすればよいですか? 私は xmpphp と jaxl ライブラリを使用しており、Google トークとの接続に成功しました。

4

1 に答える 1

0

Jaxl ライブラリPLAINには、 、google talk X-OAUTH2DIGEST-MD5CRAM-MD5SCRAM-SHA-1EXTERNALおよび facebookX-FACEBOOK-PLATFORM認証メカニズムのサポートが組み込まれています。

また、アプリケーション内で必要になるカスタム認証メカニズムを実装する機能も提供します。X-MESSENGER-OAUTH2以下に説明するように、認証の実装は簡単です。

JAXL ライブラリの最新バージョンをチェックアウトし、次のように JAXL クライアント オブジェクトを初期化します。

require_once 'jaxl.php';
$client = new JAXL(array(
    'jid' => 'messenger.live.com', // <-- dummy jid required for DNS SRV lookup
    'pass' => '',
    'log_level' => JAXL_DEBUG
));

以下に示すようにイベントのコールバックを登録し、 msdn ドキュメントon_stream_featuresの説明に従って認証パケットを送信します。

$client->add_cb('on_stream_features', function($stanza) {
    global $client, $access_token;
    $auth = new JAXLXml('auth', NS_SASL, array('mechanism'=>'X-MESSENGER-OAUTH2'));
    $auth->t($access_token);
    $client->send($auth);
    return 'wait_for_sasl_response';
});

これでうまくいくはずです。

注: Jaxl ライブラリの現在のバージョンは、DNS SRV ルックアップの入力ジャバー ID に依存しており、そこからソケット接続を確立するためのターゲット ホスト:ポートを抽出します。したがって、上記のようにjidとにダミーの値を渡す必要があります(これが将来のバージョンで修正されるまで)。pass

上記の手順はテストなしで書きましたが、正常に動作するはずです。JAXLXmlスタイルの XML 作成を使用する方法の詳細については、こちらを参照してください

于 2012-10-06T16:45:03.197 に答える