我需要通过 Facebook 连接用户的信息并向他的所有朋友发送私信。可能吗?
9 回答
现在可以通过 api 发送私人消息。
触发此事件以发送消息(应在之前完成 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 会自动指定。display
呈现对话框的显示模式。这是由大多数 SDK 自动指定的。to
向其发送消息的用户 ID 或用户名。对话框出现后,用户可以指定要向其发送消息的其他用户、Facebook 群组和电子邮件地址。将内容发送到 Facebook 群组会将其发布到群组的墙上。链接
(必需)要在消息中发送的链接。图片
默认情况下,将从指定的链接获取图片。要包含在消息中的图片的 URL。图片将显示在链接旁边。name 默认情况下,标题将从指定的链接中获取。链接的名称,即显示用户将单击的文本。
description
默认情况下,将从指定的链接中获取描述。显示在链接下方的描述性文本。
在这里查看更多
@VishwaKumar:
要发送带有自定义文本的消息,您必须将 'message' 参数添加到FB.ui
,但我认为此功能已被弃用。您不能再预先填写消息。虽然尝试一次。
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
您可以使用 Facebook 聊天 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
不,这是不可能的。为了让您向 Facebook 用户发送任何类型的消息,您需要获得该用户的许可。
如果有人使用 Facebook Connect 登录您的网站,则他们明确同意与您的网站共享他们的 Facebook 数据,然后您将能够通过正常渠道向该人发送消息。您还可以获取他们的朋友列表。但是,您不能向朋友发送消息。
现在这是不可能的,但有一种解决方法。您可以在公共领域与用户互动并要求他们向您发送私人消息,但您不能发回私人消息,只能发送公共消息。当然,这一切都取决于用户是否授予您正确的权限。
如果您已授予访问某人朋友的权限,则理论上您可以在该用户墙上发布对每个朋友的引用,要求他们公开与您互动,然后可能私下向您发送消息。
结交朋友
#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.com 电子邮件地址。这样做有几个缺点:
1) 并非每个人(截至本文发布时)都在其帐户中启用了新消息应用程序。
2) 不是每个人都会在他们的消息应用程序中设置他们的@facebook.com 电子邮件。
3) 不是每个人都会选择他们的用户名(如果他们甚至有 Facebook 用户名)作为他们的电子邮件地址。
你不能。Facebook API 具有read_mailbox但没有 write_mailbox 扩展权限。我猜这是为了防止垃圾邮件应用程序淹没朋友的收件箱。
对于移动应用程序,我通过在对话框视图中注入 javascript 做了一个解决方案。我的 ios 应用程序中有一个隐藏的网络视图。加载fb消息发送对话框api ..然后我注入一些javascript来设置“to”和“message”字段并提交表单..这样最终用户不需要做任何事情。消息悄悄地发送到 Facebook 收件箱...
这个线程说你不能在 facebook 上向一群朋友发送私人消息,但我发现了这个https://developers.facebook.com/docs/sharing/reference/send-dialog
没有graph api,你需要使用facebook xmpp chat api来发送消息,好消息是:我做了一个太容易使用的php类,调用一个函数就会发送消息,它开源,检查一下:facebook message api php描述说它是一个封闭源,但后来它是开源的,见第一条评论,你可以从 github 克隆。现在是开源的。