2012-02-29 10 views
7

私はstrophe.jsライブラリを使用して、ブラウザでXMPPメッセージを送受信します。それはうまく動作しますが、私はすでに私の連絡先リストに入っているユーザーのためにのみです。strophe.jsを使用した承認リクエスト(ロスタに追加)

誰か(私が知っている住所)を私の名簿に加える必要があります。どうすればstrophe.jsを使ってこれを達成できますか?これは私にとっては重要なことです。なぜなら、Gmailは自分の名簿にない人にメッセージを送ることを拒否しているからです。私はサブスクリプションを取得したい:両方、メッセージを送受信することができるように。

答えて

10

<presence to="[email protected]" type="subscribe"/>を送信:

conn.send($pres({ to: "[email protected]", type: "subscribe" })); 

あなたの友人が受け入れるとき、彼らはあなたが「購読」タイプの着信プレゼンスのための詩句ハンドラを設定することで処理できる、またあなたに購読を送信する必要があります。

function on_subscription_request(stanza) 
{ 
    if(stanza.getAttribute("type") == "subscribe" && is_friend(stanza.getAttribute("from"))) 
    { 
     // Send a 'subscribed' notification back to accept the incoming 
     // subscription request 
     conn.send($pres({ to: "[email protected]", type: "subscribed" })); 
    } 
    return true; 
} 
conn.addHandler(on_subscription_request, null, "presence", "subscribe"); 
+0

ありがとう、それは私が必要とするものです。 –

+0

@MattJとwhit is_friendメソッドを使用してコードを更新できますか? – pregmatch

+1

@pregmatchこれはアプリケーションによって異なります。 JIDを受け取り、ユーザーが要求を受け入れる場合はtrue、必要でない場合はfalseを返します。 – MattJ

関連する問題