web-dev-qa-db-fra.com

Envoyer des messages privés à des amis

J'ai besoin d'obtenir via Facebook les informations de l'utilisateur et de lui envoyer un message privé. C'est possible?

86
yspro

L'envoi d'un message privé via api est maintenant possible.

Lancez cet événement pour envoyer un message (l'initialisation de l'objet facebook doit être faite avant).

to:user id de facebook

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

    });
}

Propriétés

  • app_id
    Identifiant de votre application. Obligatoire, mais spécifié automatiquementPar la plupart des SDK.

  • redirect_uri
    L'URL vers laquelle rediriger après que l'utilisateur a cliqué sur les boutons Envoyer ou Annuler De la boîte de dialogue. Obligatoire, mais spécifié automatiquement par la plupart des SDK

  • afficher
    Le mode d’affichage du dialogue. Ceci est automatiquement spécifié par la plupart des SDK. 

  • à
    Un ID utilisateur ou un nom d'utilisateur auquel envoyer le message. Une fois que la boîte de dialogue Apparaît, l'utilisateur peut spécifier des utilisateurs supplémentaires, des groupes Facebook et des adresses email auxquelles envoyer le message. L'envoi de contenu à un groupe Facebook sur .__ le publiera sur son mur. 

  • lien
    (requis) Le lien à envoyer dans le message. 

  • image
    Par défaut, une image sera prise à partir du lien spécifié. L'URL D'une image à inclure dans le message. L'image sera affichéenext au lien. 

  • name Par défaut, un titre sera tiré du lien spécifié. Le nom de Le lien, c’est-à-dire le texte à afficher sur lequel l’utilisateur cliquera.

  • la description
    Par défaut, une description sera prise à partir du lien spécifié . Texte descriptif à afficher sous le lien.

Voir plus ici

@VishwaKumar: 

Pour envoyer un message avec du texte personnalisé, vous devez ajouter le paramètre 'message' à FB.ui, mais je pense que cette fonctionnalité est obsolète. Vous ne pouvez plus pré-remplir le message. Bien essayer une fois.

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

Voir ce lien: http://fbdevwiki.com/wiki/FB.ui

74
Somnath Muluk

Non, ce n'est pas possible. Pour que vous puissiez envoyer des messages de toute nature à un utilisateur Facebook, vous devez avoir l'autorisation de cet utilisateur.

Si quelqu'un se connecte à votre site avec Facebook Connect, il accepte explicitement de partager ses données Facebook avec votre site. Vous pourrez alors envoyer à cette personne un message par les voies habituelles. Vous pourrez également aller chercher leur liste d'amis. Cependant, vous ne pouvez pas envoyer de messages aux amis.

9
zombat

Ce n'est pas possible maintenant, mais il y a un moyen de contourner le problème. Vous pouvez vous engager avec l'utilisateur dans le domaine public et lui demander de vous envoyer des messages privés, mais vous ne pouvez pas renvoyer de messages privés, mais uniquement des messages publics. Bien sûr, tout dépend si l'utilisateur vous donne les autorisations appropriées.

Si vous avez donné la permission d'accéder aux amis d'une personne, vous pouvez théoriquement poster sur ce mur d'utilisateurs avec des références à chacun de ces amis, leur demandant d'interagir publiquement avec vous et de vous envoyer ensuite un message potentiellement privé.

Obtenir des amis

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

Publier dans le domaine public

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

Obtenir les messages envoyés à cet utilisateur (si l'autorisation est donnée)

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

Vous pouvez utiliser l'API Facebook Chat pour envoyer des messages privés. Voici un exemple dans Ruby utilisant 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
8
Dalibor Nasevic

Une solution de contournement, bien que peu intéressante, consiste à utiliser la nouvelle adresse électronique @ facebook.com. Il y a quelques inconvénients à ceci:

1) L'application de nouveaux messages n'est pas activée dans leur compte (à la date de cette publication).

2) Tout le monde n'aura pas configuré son email @ facebook.com dans son application de messagerie.

3) Tous les utilisateurs ne choisiront pas leur nom d'utilisateur (s'ils ont même un nom d'utilisateur facebook) comme adresse électronique.

7
Scott

Vous ne pouvez pas. L'API Facebook a read_mailbox mais aucune autorisation étendue write_mailbox. Je suppose que cela est fait pour empêcher les applications spammy d'inonder les boîtes de réception des amis.

5
Anurag

Pour une application mobile, j'ai créé une solution en injectant du javascript dans la vue de dialogue. Il existe une vue Web masquée dans mon application ios. Cela charge le message d'envoi de dialogue fb api .. puis j'injecte du javascript pour définir les champs "à" et "message" et envoie le formulaire .. Pour que l'utilisateur final n'ait rien à faire. Message envoyé à la boîte de réception facebook en silence ...

2
apueee

Il n’existe pas d’appli graphique pour cela, vous devez utiliser l’application de chat de Facebook xmpp pour envoyer le message. La bonne nouvelle est que: j’ai créé une classe php trop facile à utiliser, appelez une fonction et le message sera envoyé. open source, jetez-y un coup d'oeil: facebook message api php la description dit que c'est une source fermée mais l'a été faite open source plus tard, voir le premier commentaire, vous pouvez cloner de github. C'est une source ouverte maintenant.

0
Nishchal Gautam

Ce fil indique que vous ne pouvez pas envoyer de messages privés à un groupe d'amis sur facebook, mais j'ai trouvé ceci https://developers.facebook.com/docs/sharing/reference/send-dialog

0
Josh Pittman