发私信给朋友

我需要通过Facebook连接用户的信息,并发送私人消息给他的所有朋友。 可能吗?

通过API发送私人消息现在是可能的。

触发此事件发送消息(Facebook对象的初始化应在之前完成)。

to:user Facebook的to:user标识

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

属性

  • APP_ID
    您的应用程序标识符。 必需,但由大多数SDK自动指定。

  • REDIRECT_URI
    在用户单击对话框上的“发送”或“取消”button后redirect到的URL。 必需,但由大多数SDK自动指定。

  • 显示
    显示对话框的显示模式。 这是大多数SDK自动指定的。


  • 发送消息的用户标识或用户名。 一旦对话框出现,用户可以指定要发送消息的其他用户,Facebook组和电子邮件地址。 将内容发送到Facebook群组将会将其发送到群组的墙上。

  • 链接
    (必填)发送消息的链接。

  • 图片
    默认情况下,图片将从指定的链接中获取。 消息中包含的图片的url。 图片将显示在链接旁边。

  • 名称默认情况下,标题将从指定的链接中获取。 链接的名称,即用户要点击的文字。

  • 描述
    默认情况下,将从指定的链接中进行描述。 在链接下方显示的描述性文字。

在这里看到更多

@VishwaKumar:

为了用自定义文本发送消息,你必须给FB.ui添加'message'参数,但我认为这个function已经被弃用了。 你不能再预先填写消息。 尽pipe尝试一次。

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

看到这个链接: http : //fbdevwiki.com/wiki/FB.ui

不,这是不可能的。 为了让您发送任何types的消息给Facebook用户,您需要该用户的许可才能这样做。

如果有人使用Facebook Connectlogin您的网站,他们明确同意与您的网站分享他们的Facebook数据,然后您将能够通过正常渠道向该人员发送消息。 你也可以获取他们的朋友列表。 但是,您不能将消息发送给朋友。

这是不可能的,但有一个工作。 您可以在公共领域与用户进行交stream,并要求他们向您发送私人消息,但您不能发送私人消息,只有公共消息。 当然,这一切都取决于用户是否给你正确的权限。

如果你已经允许访问一个人的朋友,那么理论上可以在用户墙上张贴每一位朋友的参考信息,要求他们与你公开互动,然后可能私下给你发信息。

得到朋友

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

张贴在公共领域

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

获取发送给该用户的消息(如果获得许可)

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

您可以使用Facebook聊天API发送私人消息,这里是一个使用xmpp4r_facebook gem的Ruby示例:

 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 

一个解决方法,虽然不是一个很好的方法,但是使用新的@ facebook.com电子邮件地址。 这有几个缺点:

1)不是每个人(截至本文)都在他们的账户中启用了新的消息应用程序。

2)不是每个人都将在他们的消息应用程序中设置他们的@ facebook.com电子邮件。

3)不是每个人都会select他们的用户名(如果他们甚至有一个Facebook用户名)作为他们的电子邮件地址。

你不能。 Facebook API有read_mailbox,但没有write_mailbox扩展权限。 我猜这是为了防止垃圾邮件应用程序淹没朋友的收件箱。

对于移动应用程序,我通过在对话框视图中注入JavaScript做了一个解决scheme。 在我的iOS应用程序中有一个隐藏的Web视图。 加载fb消息发送对话框api ..然后我注入一些JavaScript来设置“到”和“消息”字段,并提交表单..所以,最终用户不需要做任何事情。 邮件悄悄地发送到Facebook的收件箱…

这里没有任何图表api,你需要使用facebook xmpp chat api来发送消息,好消息是:我做了一个太简单易用的php类,调用一个函数并发送消息,它的开源,检查出来: Facebook的消息API的描述说,它是一个封闭的来源,但它是后来开放源码,看到第一个评论,你可以从github克隆。 这是一个开源的。

这个线程说你不能发送私人消息给Facebook上的一组朋友,但我发现这个https://developers.facebook.com/docs/sharing/reference/send-dialog