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