使用正确信息的 Quickblox 更新用户密码失败

Quickblox update user password fails with correct information

我正在使用此代码更新用户密码:

    QBUUser *usertemp = [QBUUser user];
    usertemp.ID = [LocalStorageController shared].qbUser.ID;
    usertemp.oldPassword = [defaults objectForKey:@"password"];
    usertemp.password = self.passwordField.text;

    [QBRequest updateUser:usertemp successBlock:^(QBResponse *response, QBUUser *user) {
        // User updated successfully

    } errorBlock:^(QBResponse *response) {
        NSString *errorMessage = [[response.error description] stringByReplacingOccurrencesOfString:@"(" withString:@""];
        errorMessage = [errorMessage stringByReplacingOccurrencesOfString:@")" withString:@""];

        UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Oops!"
                                                          message:errorMessage
                                                         delegate:nil
                                                cancelButtonTitle:@"Got it"
                                                otherButtonTitles: nil];

        [myAlertView show];
    }];

但是,我收到一个错误:"Incorrect old password provided."旧密码肯定是正确的,因为我用它来登录会话。每次尝试时,新密码至少有 8 个字符长。为什么我不能更新用户密码?

谢谢。

您使用的是什么版本的SDK?

这是对 2.x API 版本 2.0.6 http://quickblox.com/developers/IOS#Framework_changelog 的修复:

如果您使用较新的版本 - 您可以 post 您的 Xcode 这个请求的日志

In JAVASCRIPT SDK 

1.   $(document).ready(function () {

    //alert(getCookie('UserPassword'))
    QB.init(QBApp.appId, QBApp.authKey, QBApp.authSecret);

    QB.createSession(function (err, result) {
        console.log('Session create callback', err, result);
    });


})

2.  var user = { 'login': Username, 'password': pwd };
   QB.login(user, function (err, response) {

        if (err) {
            alert(JSON.stringify(err.message))
        }
    });

3.  var params = { password: pwd,old_password:oldpassword};
  QB.users.update("THis is Quick BloxID '2356899'", params, function (err, response) {
       if (response) {
           alert("Your Password Changed!!")
       } else {

             alert(JSON.stringify(err))  
        }
    })