2011-01-13 80 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