2012-02-29 11 views
7

Utilizo la biblioteca strophe.js para enviar y recibir mensajes XMPP en el navegador. Funciona bien, pero solo para usuarios que ya tengo en mi lista de contactos - lista.Solicitud de autorización (agregar a la lista) utilizando strophe.js

Necesito agregar a alguien (cuya dirección sé) a mi lista. ¿Cómo puedo lograr esto usando strophe.js? Esto es importante para mí, ya que gmail rechaza el envío de mensajes a personas que no tengo en mi lista. Me gustaría obtener una suscripción: ambas, para poder recibir y enviar mensajes.

Respuesta

10

Enviar <presence to="[email protected]" type="subscribe"/>:

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

Cuando su amigo acepte, se debe enviar una suscribirse a usted también, que se puede manejar mediante el establecimiento de un controlador Strophe la presencia entrante con el tipo de "suscribirse":

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

Gracias, eso es exactamente lo que necesito. –

+0

@MattJ y whit is_friend method, ¿puedes actualizar el código con él? – pregmatch

+1

@pregmatch Depende de su aplicación. Recibe un JID y debe ser verdadero si el usuario desea aceptar su solicitud, o falso si no lo hace. – MattJ

Cuestiones relacionadas