我正在开发一个Facebook聊天客户端,我正在使用QXmpp连接到聊天服务器。
QString user = ... // This is the Facebook's user id, not the user's email
QString passwd = ...
QXmppClient *xmppClient = new QXmppClient();
xmppClient->connectToServer(user + "@chat.facebook.com", passwd);
只有少数“随机”用户无法连接。检查我刚刚得到的日志:
vie 12. oct 21:02:58 2012 RECEIVED <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>
vie 12. oct 21:03:03 2012 WARNING Authentication failure
答案 0 :(得分:0)
问题是用户名大小写。 Facebook允许使用大写字母的用户名,但为了使用XMPP连接到Facebook Chat,用户名必须标准化为小写。例如:
QString user = ... // This is the Facebook's user id, not the user's email
QString passwd = ...
QString normUser = user.toLower(); // Normalized username
QXmppClient *xmppClient = new QXmppClient();
xmppClient->connectToServer(normUser + "@chat.facebook.com", passwd);