2011-01-12 89 views
3

我需要让用户能够通过Facebook发送私人消息给他的朋友。在PHP中有一些名为Openinviter的东西,它可以获取几乎任何社交网络或电子邮件提供商的联系人。发送私人消息到使用轨道上的红宝石的Facebook帐户

我在rails上找到了一个叫做联系人的gem,对电子邮件提供程序做同样的事情。它可以通过电子邮件提供商而不是社交网络来抓取用户朋友

是否有类似的宝石或插件,我可以使我的应用程序发送私人消息到Facebook的联系人?

感谢,

回答

1

否,通过电子邮件发送私人信息,你从Facebook的API或Facebook应用通过API似乎是针对当前API TOS /政策有效果已经取出。

2

您可以使用Facebook的聊天API发送私人邮件,这里是在Ruby中使用xmpp4r_facebook宝石为例:

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