给朋友发私信

Posted

技术标签:

【中文标题】给朋友发私信【英文标题】:Send private messages to friends 【发布时间】:2011-02-04 04:33:26 【问题描述】:

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

【问题讨论】:

我意识到这并不能解决 OP 的问题,但那些正在寻找回复私人消息的方法的人可能会发现这很有用:***.com/questions/9598369/… 【参考方案1】:

不,这是不可能的。为了让您向 Facebook 用户发送任何类型的消息,您需要获得该用户的许可。

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

【讨论】:

我的 Google-fu 让我失望了。有关于如何执行此操作的链接?【参考方案2】:

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

【讨论】:

【参考方案3】:

现在这是不可能的,但有一种解决方法。您可以在公共领域与用户互动并要求他们向您发送私人消息,但您不能发回私人消息,只能发送公共消息。当然,这一切都取决于用户是否授予您正确的权限。

如果您已授予访问某人朋友的权限,理论上您可以在该用户墙上发布对每个朋友的引用,要求他们公开与您互动,然后可能私下向您发送消息。

结交朋友

#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/

【讨论】:

:现在可以私信了。我已经给出答案了。【参考方案4】:

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

1) 并非所有人(截至本文发布时)都在其帐户中启用了新消息应用程序。

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

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

【讨论】:

【参考方案5】:

现在可以通过api发送私信了。

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

to:userfacebook 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。

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

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

链接 (必需)要在消息中发送的链接。

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

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

说明 默认情况下,将从指定的链接中获取描述。 显示在链接下方的描述性文字。

查看更多here

@VishwaKumar:

要发送带有自定义文本的消息,您必须将“消息”参数添加到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 的弹出窗口并且只能填充一个人(此时,跟踪错误 here)。一个完整的解决方案允许你使用标准的 API 来发送你想要的消息,尽管 Facebook 似乎已经把它拿走了。 @Somnath,感谢您发布解决方案!不知道有没有办法绕过写消息窗口直接发送消息? @Cyber​​Junkie:我认为 facebook 不提供这种绕过功能。用户必须单击发送消息按钮。否则,您的收件箱将充满广告。 @Somnath:我尝试了您的解决方案并且它有效,但是有没有办法在弹出窗口中使用自定义消息填充消息? @VishwaKumar:你的意思是当打开消息框时应该填充自定义消息?【参考方案6】:

您可以使用 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

【讨论】:

关于此的博文 - dalibornasevic.com/posts/… 你有php中类似的代码发送私信吗? 自 2015 年 5 月 1 日后的 v2.0 起已弃用此功能【参考方案7】:

对于移动应用程序,我通过在对话框视图中注入 javascript 做了一个解决方案。我的 ios 应用程序中有一个隐藏的网络视图。加载fb消息发送对话框api ..然后我注入一些javascript来设置“to”和“message”字段并提交表单..这样最终用户不需要做任何事情。消息以静默方式发送到 facebook 收件箱...

【讨论】:

你能详细解释一下吗? @Totty 你能展示你的实现吗?我的 iOS 应用非常需要它。【参考方案8】:

这个没有graph api,你需要用facebook xmpp chat api来发送消息,好消息是:我做了一个php类,太容易使用了,调用一个函数,消息就可以了发送,它的开源,检查一下:facebook message api php 描述说它是一个封闭源,但它后来被开源,见第一条评论,你可以从 github 克隆。它现在是开源的。

【讨论】:

【参考方案9】:

这个帖子说你不能在 facebook 上向一群朋友发送私人消息,但我找到了这个https://developers.facebook.com/docs/sharing/reference/send-dialog

【讨论】:

以上是关于给朋友发私信的主要内容,如果未能解决你的问题,请参考以下文章

如何让用户在没有链接的情况下向他们的朋友发送私信?

photon chat unity plugin - 如何知道朋友是不是在线

花式秀恩爱,利用Python给情书加密,让女朋友甜蜜满满

刚发工资给女朋友转账,引发了分布式事务!

:如何将手机短信通过微信发送给朋友?

Java相关思维导图分享