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