Android Asmack xmpp 登录仅适用于我自己的 Facebook 帐户

Posted

技术标签:

【中文标题】Android Asmack xmpp 登录仅适用于我自己的 Facebook 帐户【英文标题】:Android Asmack xmpp login works only with my own facebook account 【发布时间】:2013-12-16 09:52:59 【问题描述】:

我正在开发一个应用程序,允许用户向他/她的 Facebook 朋友发送私人消息。为了实现 facebook 登录功能,我使用了 facebook sdk(3.5 版)提供的登录按钮。我正在使用 asmack-android-18 库创建与 chat.facebook.com 的 xmpp 连接。要登录 chat.facebook.com 向用户的朋友发送私人消息,我使用以下代码行: xmpp.login(applicationId, accessToken, "Application"); 其中 xmpp 是 XMPPConnection 的一个实例。使用我自己的 facebook 帐户登录应用程序时,我在我的 facebook 应用程序帐户页面上用作管理员帐户。我在该页面上放置了正确的密钥哈希。该应用程序未处于沙盒模式。这就是为什么我可以登录到 chat.facebook.com 并向我的朋友发送消息。非常奇怪的是,当用其他 facebook 登录时。我让我的朋友使用该应用程序。他可以使用自己的 Facebook 帐户登录。他看到了他的朋友列表。但他无法登录chat.facebook.com,因此无法发送消息。正如我之前提到的,该应用程序仅适用于一个 Facebook 帐户。我花了几个小时在 *** 和互联网上的任何地方搜索类似的情况,包括 facebook sdk 官方页面。但我仍然坚持这个问题。

编辑。我看到有一个选项:提交项目以供批准。 Facebook 表示:“某些 Facebook 集成需要在公开使用之前获得批准。在提交您的应用程序以供审核之前,请参阅我们的应用程序中心和 Open Graph 指南,以获取有关审核过程的更多信息。”也许我必须这样做?

应感谢任何帮助或指导。

【问题讨论】:

【参考方案1】:

当您创建应用程序 ID 时,有一个名为沙盒的选项。请启用它以登录到每个人。

【讨论】:

感谢您的回答。实际上正如我在上面的问题中提到的那样。我已禁用 sanbox 模式。我知道沙盒模式是用来测试的。 Facebook 在向公众发布之前使用它来确保您的应用程序正常。因此,现在在我的应用仪表板中显示“此应用已上线并可供所有用户使用”。【参考方案2】:

如果您提供 chat.facebook.com 作为服务器,然后尝试使用任何凭据登录。 它会允许。

【讨论】:

以上是关于Android Asmack xmpp 登录仅适用于我自己的 Facebook 帐户的主要内容,如果未能解决你的问题,请参考以下文章

asmack vs tigase xmpp 库

无法使用 asmack 版本 asmack-android-8-4.0.6.jar 在 xmpp 中返回组列表

XMPP 连接的 asmack-android-8-4.0.6.jar 问题

Android - XMPP:“已经登录到服务器”异常

Asmack/Openfire 401 错误

发送和接收 IQ ASMACK Android XMPP