2014-12-25 3 views
0

Я пытаюсь использовать модуль синтаксического анализа в Corona SDK. Я могу создать пользователя и вести журнал, который предоставляет мне строку sessionToken. Затем я пытаюсь выполнить следующий код, чтобы обновить пароль; однако я получаю это сообщение об ошибке:Обновление пароля пользователя на parse.com

mod_parse.lua511: Пользователь должен быть первым зарегистрирован, sessionToken не может быть nil.

Как уже упоминалось, я уже получил sessionToken. Должен ли я объявить это где-то в следующем коде. Также в приведенном ниже коде «759P2STsjN» является user object из parse. Я попытался заменить его именем пользователя, но не повезло.

local function onUpdateUser(event) 
    if not event.error then 
    print(event.response.updatedAt) 
    end 
end 

local dataTable = { ["password"] = "newpassword", } 
parse:updateUser("759P2STsjN", dataTable, onUpdateUser) 
+0

Вы когда-нибудь это выясняли? Похоже, sessionToken не сохраняется – david2391

+0

не очень. отключился от этой темы. Я думаю, что лучше сделать это на локальной машине и выпустить ее через несколько секунд. –

ответ

0

Проблема была в том, что я не обновил токен сеанса. Модуль анализа должен автоматически делать это, но не сделал. sessionToken = event.response.sessionToken выполнит эту работу. Еще одна вещь, которую вы должны помнить, должна позволять несколько секунд, чтобы сетевой ответ был получен до обновления пользовательских данных. При входе в систему требуется некоторое время, чтобы обновить токен сеанса в коде. Поэтому либо ваш код должен позволить некоторое время получить его, либо попросить пользователя ответить.

local function onLoginUser(event) 
    if not event.error then 
    print(event.response.sessionToken) 
    sessionTokenParse = event.response.sessionToken 

     sessionToken = event.response.sessionToken 

    end 
end 

parse:loginUser({ ["username"] = "Chri1", ["password"] = "stro1w" }, onLoginUser) 
Смежные вопросы