QuickBlox: пользователь Twitter не может войти в чат {android}

Попытка войти в чат с токеном доступа.

Ошибка 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 ответа

Пожалуйста, прочитайте информацию для входа здесь по адресу http://quickblox.com/developers/Chat

Вы должны использовать токен Quickblox в качестве пароля, если вы входите через Twitter / Facebook.

    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()); 
            }
        }
    });

Извините этот код:

 // 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");
}
Другие вопросы по тегам