2011-01-13 149 views
0

我正在为我的app开发聊天客户端,现在我正在用gtk,facebook,yahoo.iam使用smack api来测试它,我现在已经成功通过了gtalk的测试。在Facebook中的情况下,我得到了错误facebook聊天不能在android中使用smack api工作


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 [email protected] 
01-13 10:53:07.178: ERROR/XMPPClient(389): SASL authentication failed using mechanism DIGEST-MD5: 

,你可以看到ICAN连接,但不能登录。我已经看到了同样的问题在这里:HTTP://stackoverflow.com/questions/3750547/facing - 问题 - 使用 - 嫌-ON-机器人。


但这个答案不适合我。


请帮我摆脱这个概率。

回答

0

我得到了我problem.it SI完全符合asmack发放工作15.jar.and你必须设置:connConfig.setSASLAuthenticationEnabled(true);


,你必须设置写用户名只是没@ chat.facebook.com

1

这本网站解释说: http://developers.facebook.com/docs/chat

您可以从该网站上看到下面的摘录。

Authenticating with Username/Password 

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

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

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

用户的Jabber ID仅仅是他或她的Facebook用户名,附加了@ chat.facebook.com。用户必须拥有Facebook用户名才能使用DIGEST-MD5。在用户获得用户名后,他或她必须从Facebook注销一次,以便我们存储密码的特殊散列。

如果你的应用在下降的情况下的任何一个,那么它可能无法正常工作

+0

谢谢,我会努力的.. – 2011-01-13 06:46:00