当我尝试保存QBCustomObject
时,服务器的响应有时会显示
基地被禁止。需要用户。
在保存之前,我检查了QBChatService.getInstance().isLoggedIn()
并返回true。
以下两种情况都会发生此错误:
重新启动应用并登录进程后消失。
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()
为什么会发生此错误?
答案 0 :(得分:4)
好像我发现了这个错误。我没有使用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);
//...
}
});
答案 1 :(得分:3)
聊天登录并登录到应用程序 - 它们是不同的登录名。
为了在QuickBlox中创建任何对象(聊天消息除外) - 您必须代表用户行事
此处了解有关如何创建记录http://quickblox.com/developers/SimpleSample-customObjects-android#Create_record_using_Android_SDK
的详细信息在那里,您将找到如何将用户登录到应用程序http://quickblox.com/developers/SimpleSample-users-android#Sign_In_.26_Social_authorization
的链接答案 2 :(得分:0)
使用QBUser创建会话。
例如: - QBAuth.createSession(新的QBUser(“user_name”,“”))