Je dois obtenir via Facebook les informations de l'utilisateur et envoyer un message privé à tous ses amis. C'est possible?
Je dois obtenir via Facebook les informations de l'utilisateur et envoyer un message privé à tous ses amis. C'est possible?
Réponses:
L'envoi de messages privés via l'API est désormais possible.
Déclenchez cet événement pour l'envoi du message (l'initialisation de l'objet facebook doit être effectuée 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 automatiquement spécifié par la plupart des SDK.
redirect_uri
L'URL vers laquelle rediriger après que l'utilisateur clique sur les boutons Envoyer ou Annuler de la boîte de dialogue. Obligatoire, mais automatiquement spécifié par la plupart des SDK.
display
Le mode d'affichage dans lequel rendre la boîte de 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 la boîte de dialogue ouverte, l'utilisateur peut spécifier des utilisateurs supplémentaires, des groupes Facebook et des adresses e-mail auxquels envoyer le message. L'envoi de contenu à un groupe Facebook le publiera sur le mur du groupe.
link
(obligatoire) 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ée à côté du lien.
nom Par défaut, un titre sera tiré du lien spécifié. Le nom du lien, c'est-à-dire le texte à afficher sur lequel l'utilisateur cliquera.
description
Par défaut, une description sera tirée du lien spécifié. Texte descriptif à afficher sous le lien.
En savoir plus ici
@VishwaKumar:
Pour envoyer un message avec un 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. Essayez 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
Non, ce n'est pas possible. Pour que vous puissiez envoyer des messages de tout type à un utilisateur Facebook, vous avez besoin de l'autorisation de cet utilisateur pour le faire.
Si les journaux de quelqu'un dans votre site avec Facebook Connect, ils sont d' accord explicitement de partager leurs données Facebook avec votre site, et vous serez alors en mesure d'envoyer cette personne un message par les voies normales. Vous pourrez également récupérer leur liste d'amis. Cependant, vous ne pouvez pas envoyer de messages aux amis.
Ce n'est pas possible maintenant, mais il y a un contournement. Vous pouvez interagir 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, uniquement des messages publics. Bien sûr, tout dépend de 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 publier sur ce mur d'utilisateurs avec des références à chacun des amis, en leur demandant d'interagir publiquement avec vous, puis éventuellement en privé.
Obtenez 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 des messages envoyés à cet utilisateur (si l'autorisation est accordée)
http://developers.facebook.com/docs/reference/api/message/
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
Une solution de contournement, mais pas excellente, consiste à utiliser la nouvelle adresse e-mail @ facebook.com. Il y a quelques inconvénients à cela:
1) Tout le monde (à partir de cette publication) n'a pas activé la nouvelle application de messagerie dans son compte.
2) Tout le monde n'aura pas configuré sa messagerie @ facebook.com dans son application de messagerie.
3) Tout le monde ne choisira pas son nom d'utilisateur (s'il a même un nom d'utilisateur Facebook) comme adresse e-mail.
Pour l'application mobile, j'ai fait une solution en injectant du javascript dans la fenêtre de dialogue. Il y a une vue Web masquée dans mon application iOS. Cela charge le message fb send dialog api .. puis j'injecte du javascript pour définir le champ "to" et "message" et soumet le formulaire .. Ainsi, l'utilisateur final n'a rien à faire. Message envoyé en silence à la boîte de réception Facebook ...
Il n'y a pas d'API graphique pour cela, vous devez utiliser l'api de chat facebook xmpp pour envoyer le message, la bonne nouvelle est: j'ai créé une classe php qui est trop facile à utiliser, appelez une fonction et un message sera envoyé, c'est open source, vérifiez-le: message facebook api php la description dit que c'est une source fermée mais qu'il a été rendu open source plus tard, voir le premier commentaire, vous pouvez cloner à partir de github. C'est une source ouverte maintenant.
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