Android ';基地被禁止。需要用户;尝试创建QBCustomObject时出错

Android ';基地被禁止。需要用户;尝试创建QBCustomObject时出错,android,quickblox,Android,Quickblox,当我试图保存QBCustomObject时,服务器的响应有时会说 基地被禁止。需要用户 在保存之前,我选中了QBChatService.getInstance().isLoggedIn(),它返回true 以下两种情况都会发生此错误: 刚登录 例如,10分钟后 重新启动应用程序并登录过程后消失 HashMap<String, Object> fields = new HashMap<String, Object>(); fields.put("name", name)

当我试图保存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() {...});

为什么会发生此错误?

聊天登录和登录应用程序-它们是不同的登录

为了在QuickBlox中创建任何对象(聊天消息除外),您必须代表用户行事

有关如何创建记录的详细信息,请参见此处


在那里,您将找到一个如何将用户登录到应用程序的链接

似乎我已经找到了bug。我没有使用从
.signIn()
响应获得的
QBUser
对象。我的意思是:

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

使用QBUser创建会话


例如:-QBAuth.createSession(新的QBUser(“用户名”),好吧,在开始创建新的QBCustomObject之前,我已经登录了用户。如果这不是你所说的,那么你能告诉我我应该采取哪些具体步骤吗?
QBUsers.signIn(user, new QBCallbackImpl() {
     @Override
    public void onComplete(Result result) {
        if (result.isSuccess()) {
            QBUser signedInUser = (((QBUserResult) result).getUser());
            signedInUser.setPassword(password);
            //...
            loginToChat(signedInUser);
            //...
        }
});