Facebook聊天无法在机器人的smack api中工作

时间:2011-01-13 05:55:25

标签: android api smack

我正在为我的app.now开发聊天客户端我在gtalk,facebook,yahoo.iam上使用smack api测试它。我现在在gtalk上成功测试了它。但是在facebook的情况下我得到了错误


 01-13 10:53:05.938: INFO/XMPPClient(389): [SettingsDialog] Connected to chat.facebook.com
01-13 10:53:07.178: ERROR/XMPPClient(389): [SettingsDialog] Failed to log in as chikka0305@chat.facebook.com
01-13 10:53:07.178: ERROR/XMPPClient(389): SASL authentication failed using mechanism DIGEST-MD5: 

你可以看到ican connect但是无法登录。我已经在这里看到了同样的问题:http://stackoverflow.com/questions/3750547/facing-problem-using-smack-on-android。


但是那个答案对我不起作用。


请帮助我摆脱这个问题。

2 个答案:

答案 0 :(得分:1)

本网站对此进行了解释: http://developers.facebook.com/docs/chat

您可以在此网站上看到以下摘录。

Authenticating with Username/Password

DIGEST-MD5 SASL机制可用于支持未针对(甚至不知道)Facebook定制的传统XMPP或多协议IM客户端。该机制需要提示用户输入他或她的密码;因此,它只应在必要时使用。特别是,它不能用于任何客户:

代理XMPP连接(连接必须直接从用户的计算机连接到Facebook)。         向第三方(包括客户端开发人员)报告消息或有关用户活动的任何其他信息。         与Facebook集成,或拥有Facebook应用程序ID。

如果您的应用程序执行上述任何操作,则必须使用Facebook平台身份验证。

用户的Jabber ID只是他或她的Facebook用户名,附加了@ chat.facebook.com。用户必须具有Facebook用户名才能使用DIGEST-MD5。在用户获得用户名后,他或她必须退出并进入Facebook一次,以便我们存储密码的特殊哈希值。

如果您的申请属于任何一种情况,那么它可能无效

答案 1 :(得分:0)

我遇到了我的问题。这完全适用于asmack-issue 15.jar.and你必须设置:connConfig.setSASLAuthenticationEnabled(true);


并且您必须在没有@ chat.facebook.com

的情况下设置写入用户名