我需要通过Facebook连接用户的信息并向他的所有朋友发送私信。有可能吗?
答案 0 :(得分:74)
现在可以通过api发送私信。
触发此事件以发送消息(应在之前完成facebook对象的初始化)。
facebook的 to:user
id
function facebook_send_message(to) {
FB.ui({
app_id:'xxxxxxxx',
method: 'send',
name: "sdfds jj jjjsdj j j ",
link: 'https://apps.facebook.com/xxxxxxxaxsa',
to:to,
description:'sdf sdf sfddsfdd s d fsf s '
});
}
属性
APP_ID
您的应用程序的标识符。必需,但自动指定
大多数SDK都有。
REDIRECT_URI
用户单击“发送”或“取消”后重定向到的URL
对话框上的按钮。必需,但大多数都是自动指定的
软件开发工具包。
显示
用于呈现对话框的显示模式。这是自动的
由大多数SDK指定。
要
要将消息发送到的用户标识或用户名。一旦对话
用户可以指定其他用户,Facebook群组和
要将消息发送到的电子邮件地址。将内容发送到
Facebook小组将把它发布到小组的墙上。
链路
(必填)发送消息的链接。
图片
默认情况下,将从指定的链接中获取图片。网址
要包含在邮件中的图片。图片将会显示出来
在链接旁边。
名 默认情况下,将从指定的链接中获取标题。的名字 链接,即用户将单击的显示文本。
描述
默认情况下,将从指定的链接中获取描述。
描述性文字显示在链接下方。
查看更多here
@VishwaKumar:
要发送包含自定义文字的邮件,您必须添加“' message'参数FB.ui
,但我认为此功能已弃用。您无法再预先填写邮件。虽然尝试一次。
FB.ui({
method: 'send',
to: '1234',
message: 'A request especially for one person.',
data: 'tracking information for the user'
});
答案 1 :(得分:9)
不,这是不可能的。为了让您向Facebook用户发送任何类型的消息,您需要获得该用户的许可才能这样做。
如果有人使用Facebook Connect登录您的网站,他们明确同意与您的网站分享他们的Facebook数据,然后您就可以通过正常渠道向该人发送消息。您还可以获取他们的朋友列表。但是,您无法向朋友发送消息。
答案 2 :(得分:9)
现在这是不可能的,但有一个解决方法。您可以在公共领域与用户互动,并要求他们向您发送私信,但您无法发回私信,只能发送私信。当然,这完全取决于用户是否为您提供了正确的权限。
如果您已经允许访问某个人的朋友,那么理论上可以在该用户墙上发布每个朋友的引用,要求他们公开与您互动,然后可能私下向您发送消息。
结交朋友
#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/
答案 3 :(得分:8)
您可以使用Facebook Chat 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
答案 4 :(得分:7)
一种解决方法,虽然不是很好,但是使用新的@ facebook.com电子邮件地址。这有一些缺点:
1)并非所有人(截至此帖子)都在其帐户中启用了新消息应用程序。
2)并非每个人都会在他们的消息应用中设置他们的@ facebook.com电子邮件。
3)不是每个人都会选择他们的用户名(如果他们甚至有一个facebook用户名)作为他们的电子邮件地址。
答案 5 :(得分:6)
你做不到。 Facebook API具有 read_mailbox 但没有write_mailbox扩展权限。我猜这是为了防止垃圾邮件应用程序充斥朋友的收件箱。
答案 6 :(得分:2)
对于移动应用程序,我通过在对话框视图中注入javascript来做一个解决方案。我的ios应用程序中有一个隐藏的Web视图。加载fb消息发送对话框api ..然后我注入一些javascript来设置“to”和“message”字段并提交表单..所以最终用户不需要做任何事情。邮件无声地发送到Facebook收件箱......
答案 7 :(得分:0)
这没有任何图形api,你需要使用facebook xmpp chat api发送消息,好消息是:我已经制作了一个易于使用的php类,调用函数和消息将是发送,它的开源,检查出来:facebook message api php描述说它是一个封闭的源,但后来它是开源的,看到第一个注释,你可以从github克隆。它现在是一个开源的。
答案 8 :(得分:0)
这个帖子说你不能在facebook上向一群朋友发送私信,但我发现了https://developers.facebook.com/docs/sharing/reference/send-dialog