QuickBlox:Twitter用户无法在聊天中登录{android}

时间:2014-05-25 16:40:18

标签: android twitter quickblox

尝试登录与Twitter访问令牌聊天。

Quickblox错误说" Quickblox登录成功"但是"你没有登录聊天" ??

    String Token = accessToken;
    String TokenS = accessTokenSecret;
    QBUsers.signInUsingSocialProvider(QBProvider.TWITTER, Token, TokenS, new QBCallbackImpl(){

        @Override
        public void onComplete(Result result){
            if(result.isSuccess()){
                QBUserResult qbUserResult = (QBUserResult) result;
                Log.d("LogIn was successful","user: " + qbUserResult.getUser().toString());

                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }else{
                Log.e("QB didn't login with Twitter",result.getErrors().toString()); 
            }
        }
    });

3 个答案:

答案 0 :(得分:1)

请在quickblox.com/developers/Chat#Login_.2F_ID

上阅读登录信息

如果您通过 Twitter / Facebook 登录,则应使用Quickblox令牌作为密码。

答案 1 :(得分:0)

    QBAuth.createSession(new QBCallbackImpl(){
        @Override
        public void onComplete(Result result){
        }
    });


    // have to start session and pass session ID
    String TwitToken = accessToken;
    String TwitTokenS = accessTokenSecret;
    QBUsers.signInUsingSocialProvider(QBProvider.TWITTER, TwitToken, TwitTokenS, new QBCallbackImpl(){

        @Override
        public void onComplete(Result result){
            if(result.isSuccess()){
                //QBUserResult qbUserResult = (QBUserResult) result;

                QBUser qbUser = ((QBUserResult)result).getUser();
                qbUser.setPassword(BaseService.getBaseService().getToken());
                QBChatService.getInstance().loginWithUser(qbUser);

                //loginToChat(qbUser);
                Log.d("LogIn was successful","user: " + qbUser.toString());

                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }else{
                Log.e("QB didn't login with Twitter",result.getErrors().toString()); 
            }
        }
    });

答案 2 :(得分:0)

抱歉这段代码:

 // initialize SMACK
 SmackAndroid.init(this);

final QBUser user = new QBUser("garry", "garry2892pass");
QBAuth.createSession(user, new QBCallbackImpl() {
@Override
public void onComplete(Result result) {
    if (result.isSuccess()) {
        QBSessionResult res = (QBSessionResult)result;
        user.setId(res.getSession().getUserId());
        //
        QBChatService.getInstance().loginWithUser(user, LoginActivity.this);
        Log.d(TAG, "Session was successfully created");
    } else {
        Log.e(TAG, "Errors " + result.getErrors().toString());
    }
}
});

@Override
public void onLoginSuccess() {
Log.d(TAG, "success when login");
 }

@Override
public void onLoginError(String error) {
Log.e(TAG, "error when login");
}