发私信给朋友
我需要通过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
- 原生Facebook应用程序无法在iOS 9中使用Facebooklogin进行打开
- 把omniauth facebooklogin成一个popup窗口
- 调用控制台中的FB.init()错误之前调用FB.getLoginStatus()
- 如何添加一个Facebook“赞”button到一个AJAX驱动页面
- 使用Facebook进行身份validation的网站的REST API
- 设置从Facebooklogin获取用户电子邮件ID的权限
- 试图获得应用程序访问令牌
- iOSparsingFacebooklogin错误308 FBSDKLoginBadChallengeString
- 我在哪里可以find我的Facebook应用程序ID和密钥?