XMPP facebook 与非朋友聊天

Posted

技术标签:

【中文标题】XMPP facebook 与非朋友聊天【英文标题】:XMPP facebook chat with non friends 【发布时间】:2012-07-11 19:13:58 【问题描述】:

我们正在开发一个允许用户仅通过 facebook 登录的应用程序。 现在我们计划使用 facebook xmpp 引入聊天方面。

在我继续之前,juts 想检查人们是否可以通过我们的应用互相聊天,即使他们不是 Facebook 上的朋友?

这对我们很重要,因为我们的应用可能需要在 Facebook 上不是朋友的用户之间进行交互。

【问题讨论】:

【参考方案1】:

XMPP 上的 Facebook 聊天要求您成为所有聊天方的 Facebook 好友。否则,它可能会被用来向人们发送来自不认识的人的信息的垃圾邮件。

【讨论】:

感谢您的回答。您不认为一次访问同一个应用程序的人可能需要相互交谈吗?例如,我有一个基于位置的拼车应用程序,它使用 facebook 进行用户身份验证。现在我希望我的用户能够互相聊天并达成更好的交易,即使他们不是 Facebook 上的朋友。无论如何我可以通过 facebook 本身来实现这一点吗? Facebook 聊天 API 旨在让您重新创建 facebook.com 上的 Facebook 聊天体验,因此它只允许朋友之间的消息。 Ref: developers.facebook.com/docs/chat 或许您可以考虑在您的网站中使用本地 Jabber 服务来实现这种非朋友聊天功能? 你最好不要使用 Facebook 并全力以赴使用 XMPP,因为 Facebook 不支持 XMPP。因此为什么你不能交叉交流。【参考方案2】:

我不是 Facebook 开发人员,所以我不知道这是否有帮助。但请记住,只要收件人没有阻止它们,您就可以向非朋友发送普通消息。换句话说,如果收件人不在用户的朋友列表中,您可以尝试回退到常规消息系统;也就是说,只需通过普通的消息传递 API 路由“聊天”即可。同样,如果非朋友向您发送消息,则该应用会从收件箱中提取该消息并将其发送到您的聊天窗口。

不过,这种方法有两个注意事项:

    获得消息 API 的访问权限(至少用于阅读其他用户的消息)使应用可以访问用户的所有收件箱内容,许多用户可能不愿意授予该权限。 Facebook 表示该收件箱并非用于实时通信,“滥用”它的用户可能会发现他们的消息传递功能暂时被禁用。见:http://www.facebook.com/help/132736263468691/

【讨论】:

谢谢丹尼。正如您所说的那样,用户可能不愿意分享阅读收件箱内容的权限。到目前为止,我们的应用程序已经使用 RabitMQ 构建了聊天机制。

以上是关于XMPP facebook 与非朋友聊天的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 聊天平台是不是支持 BOSH?

XMPP facebook 聊天权限与 PHP

Facebook 聊天使用 xmpp 问题-NoSuchAlgorithmException: KeyStore jks implementation not found

使用 ruby​​ gem xmpp 进行 Facebook 聊天

Facebook Xmpp 聊天 API 错误

使用 xmpp4r_facebook gem facebook 聊天消息未发送