使用Ruby和fb_graph gem向用户发布私人消息?

时间:2010-12-03 15:15:05

标签: ruby facebook

我想使用fb_graph向用户的朋友发送私信。在文档中,我可以看到如何在用户墙中发送帖子,但不知道如何代表该用户发送消息。

3 个答案:

答案 0 :(得分:2)

你可以使用Facebook Chat API发送私信,这里是Ruby使用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

答案 1 :(得分:0)

不幸的是,它无法完成; Facebook因滥用(垃圾邮件等)而删除了该功能。

请参阅:how send message facebook friend through graph api using Accessstoken

答案 2 :(得分:0)

似乎这是不可能的,但发布到用户的墙可能是另一种选择:https://github.com/nov/fb_graph/issues/issue/28/#comment_591398