使用ruby on rails将私人消息发送到Facebook帐户

时间:2011-01-12 09:28:39

标签: ruby-on-rails facebook rubygems

我需要让用户能够通过Facebook向他的朋友发送私信。在PHP中有一些名为Openinviter的东西可以抓住几乎任何社交网络或电子邮件提供商的联系人。

我在铁轨上发现了一个名为“联系人”的宝石,它为电子邮件提供商做同样的事情。它可以从电子邮件提供商那里吸引用户朋友,但不能吸引社交网络。

我是否有类似的宝石或插件可以让我的应用程序向Facebook联系人发送私信?

谢谢,

2 个答案:

答案 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 :(得分:1)

不,通过电子邮件发送您从Facebook的API或Facebook应用程序通过API发送的私人消息似乎违反了当前的API TOS / Policies已生效。