Enviar mensajes privados a amigos

Necesito obtener a través de Facebook, conectar la información del usuario y enviar un mensaje privado a todos sus amigos. ¿Es posible?

Ahora es posible enviar mensajes privados a través de una API.

Dispare este evento para enviar el mensaje (la inicialización del objeto de Facebook debe hacerse antes).

to:user identificación de to:user de facebook

 function facebook_send_message(to) { FB.ui({ app_id:'xxxxxxxx', method: 'send', name: "sdfds jj jjjsdj jj ", link: 'https://apps.facebook.com/xxxxxxxaxsa', to:to, description:'sdf sdf sfddsfdd sd fsf s ' }); } 

Propiedades

  • app_id
    El identificador de su aplicación. Requerido, pero especificado automáticamente por la mayoría de los SDK.

  • redirect_uri
    La URL para redirigir a después de que el usuario haga clic en los botones Enviar o Cancelar en el cuadro de diálogo. Requerido, pero especificado automáticamente por la mayoría de los SDK.

  • monitor
    El modo de visualización en el que se muestra el cuadro de diálogo. Esto es especificado automáticamente por la mayoría de los SDK.

  • a
    Una identificación de usuario o nombre de usuario a quien enviar el mensaje. Una vez que aparece el cuadro de diálogo, el usuario puede especificar usuarios adicionales, grupos de Facebook y direcciones de correo electrónico a las que enviar el mensaje. Enviar contenido a un grupo de Facebook lo publicará en el muro del grupo.

  • enlazar
    (obligatorio) El enlace para enviar el mensaje.

  • imagen
    Por defecto, se tomará una imagen del enlace especificado. La URL de una imagen para incluir en el mensaje. La imagen se mostrará al lado del enlace.

  • nombre Por defecto, se tomará un título del enlace especificado. El nombre del enlace, es decir, el texto para mostrar en el que el usuario hará clic.

  • descripción
    Por defecto, se tomará una descripción del enlace especificado. Texto descriptivo para mostrar debajo del enlace.

Ver más aquí

@VishwaKumar:

Para enviar mensajes con texto personalizado, debe agregar el parámetro ‘mensaje’ a FB.ui , pero creo que esta característica está en desuso. Ya no puedes precompletar el mensaje. Aunque intenta una vez.

 FB.ui({ method: 'send', to: '1234', message: 'A request especially for one person.', data: 'tracking information for the user' }); 

Vea este enlace: http://fbdevwiki.com/wiki/FB.ui

No, esto no es posible Para poder enviar mensajes de cualquier tipo a un usuario de Facebook, necesita el permiso de ese usuario para hacerlo.

Si alguien inicia sesión en su sitio con Facebook Connect, está explícitamente de acuerdo en compartir sus datos de Facebook con su sitio, y entonces podrá enviar a esa persona un mensaje a través de los canales normales. También podría buscar su lista de amigos. Sin embargo, no puedes enviar mensajes a los amigos.

Esto no es posible ahora, pero hay una solución alternativa. Puede interactuar con el usuario en el ámbito público y pedirle que le envíe mensajes privados, pero no puede devolver mensajes privados, solo públicos. Por supuesto, todo esto depende de si el usuario le otorga los permisos correctos.

Si ha otorgado permiso para acceder a los amigos de una persona, entonces, en teoría, puede publicar en ese muro de usuarios referencias a cada uno de los amigos, pidiéndoles que interactúen públicamente con usted y luego potencialmente le envíen un mensaje privado.

Conseguir amigos

 #if authenticated https://graph.facebook.com/me/friends http://developers.facebook.com/docs/reference/api/user/ 

Publicar en el dominio público

 http://developers.facebook.com/docs/reference/api/status/ 

Obtener mensajes enviados a ese usuario (si se le dio permiso)

 http://developers.facebook.com/docs/reference/api/message/ 

Puede usar Facebook Chat API para enviar mensajes privados, aquí hay un ejemplo en Ruby usando xmpp4r_facebook gem:

 sender_chat_id = "-#{sender_uid}@chat.facebook.com" receiver_chat_id = "-#{receiver_uid}@chat.facebook.com" message_body = "message body" message_subject = "message subject" jabber_message = Jabber::Message.new(receiver_chat_id, message_body) jabber_message.subject = message_subject client = Jabber::Client.new(Jabber::JID.new(sender_chat_id)) client.connect client.auth_sasl(Jabber::SASL::XFacebookPlatform.new(client, ENV.fetch('FACEBOOK_APP_ID'), facebook_auth.token, ENV.fetch('FACEBOOK_APP_SECRET')), nil) client.send(jabber_message) client.close 

Una solución alternativa, aunque no excelente, es usar la nueva dirección de correo electrónico de @ facebook.com. Hay algunas desventajas en esto:

1) No todos (a partir de esta publicación) tienen habilitada la nueva aplicación de mensajes en su cuenta.

2) No todos habrán configurado su correo electrónico @ facebook.com en su aplicación de mensajes.

3) No todos elegirán su nombre de usuario (si es que tienen un nombre de usuario de Facebook) como su dirección de correo electrónico.

No puedes. Facebook API tiene read_mailbox pero no write_mailbox extended permission. Supongo que esto se hace para evitar que las aplicaciones fraudulentas inunden las bandejas de entrada de sus amigos.

Para la aplicación móvil hice una solución al inyectar javascript en la vista de diálogo. Hay una vista web oculta en mi aplicación ios. Eso carga el mensaje fb enviar diálogo api … entonces inyecto un javascript para establecer el campo “a” y “mensaje” y enviar el formulario … Para que el usuario final no tenga que hacer nada. Mensaje enviado a la bandeja de entrada de Facebook en silencio …

No hay ninguna API api para esto, necesita usar facebook xmpp chat api para enviar el mensaje, la buena noticia es: hice una clase php que es muy fácil de usar, llamo a una función y se enviará un mensaje, es código abierto, compruébalo: mensaje de Facebook api php la descripción dice que es una fuente cerrada pero se hizo de código abierto más adelante, ver el primer comentario, puedes clonar desde github. Es una fuente abierta ahora.

Este hilo dice que no se puede enviar mensajes privados a un grupo de amigos en Facebook, pero encontré esto https://developers.facebook.com/docs/sharing/reference/send-dialog