【问题标题】:Find contact from email (or other information) in Xmpp在 Xmpp 中从电子邮件(或其他信息)中查找联系人
【发布时间】:2012-05-02 11:38:02
【问题描述】:

我目前正在开发一个Android 应用程序,其中XMPP 用于用户之间的通信。现在我需要添加一个从 Facebook 或手机联系人列表中导入朋友的功能。
有谁知道这可能是如何实现的(也就是说,如果所有联系人都可用,如何找出哪些人正在使用我的应用程序以及他们的 JID 是什么)?

如果每个人都使用他们在 Facebook 上使用的相同电子邮件注册他们的帐户,并且您可以通过他们的电子邮件而不是他们的 JID 添加朋友,我可以看到它是如何完成的,但这似乎是一个愚蠢的假设,并且作为据我所知,您不能仅使用电子邮件添加用户。

我正在使用asmackOpenfire 服务器。

【问题讨论】:

    标签: android xmpp openfire smack asmack


    【解决方案1】:

    没有从电子邮件地址推断 XMPP 地址的标准方法。

    某些服务允许将同一地址用于电子邮件和 XMPP - 例如 gmail.com。检测给定域是否支持 XMPP 的一种方法是检查 SRV records 是否存在,另一种方法是检查它是否正在侦听端口 5222/5269。

    尽管如此,即使给出了电子邮件地址并且知道电子邮件主机也为 XMPP 提供服务,也不能保证 user1@example.com 是电子邮件和 XMPP 的同一用户。不要问我为什么它永远不会,但你不能做出假设。

    您说您只需要检查您的应用程序的其他用户。您可以存储自己的数据库,将帐户的电子邮件地址映射到 JID。我同意你的观点,这并不理想——但这正是大多数服务的工作方式。包括 Facebook,除了他们拥有比您的电子邮件地址更多的数据...)。

    【讨论】:

    • 谢谢,这回答了我的问题。现在我只需要弄清楚如何做数据库部分。希望我可以重用 Openfire 使用的数据库,这样我就不需要副本了。
    猜你喜欢
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多