当我试图保存QBCustomObject时,服务器的响应有时会显示
基地被禁止。需要用户。
在保存之前,我检查了QBChatService.getInstance().isLoggedIn()并返回true。
以下两种情况都会发生此错误:
刚登录
例如,10分钟后
重新启动应用程序并在登录过程中消失。

HashMap<String, Object> fields = new HashMap<String, Object>();
fields.put("name", name);
fields.put("User ID", currentUser.getId());

QBCustomObject qbCustomObject = new QBCustomObject();
qbCustomObject.setUserId(currentUser.getId());
qbCustomObject.setClassName("Group");
qbCustomObject.setFields(fields);

QBCustomObjects.createObject(qbCustomObject, new QBCallbackImpl() {...});

以下是导致创建QBCustomObject的操作链:
QBAuth.createSession() -> QBUsers.signIn() -> QBChatService.getInstance().loginWithUser()

为什么会发生这个错误?

最佳答案

好像我找到了虫子。我没有使用从QBUser响应中获得的.signIn()对象。我的意思是:

QBUsers.signIn(user, new QBCallbackImpl() {
     @Override
    public void onComplete(Result result) {
        if (result.isSuccess()) {
            QBUser signedInUser = (((QBUserResult) result).getUser());
            signedInUser.setPassword(password);
            //...
            loginToChat(signedInUser);
            //...
        }
});

10-06 03:05