Facebook Chat返回“未授权”

时间:2012-10-24 13:34:36

标签: facebook xmpp chat

我正在开发一个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

1 个答案:

答案 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);