Ошибка обновления профиля управления пользователями Syncano
Я пытался реализовать регистрацию пользователей в моем приложении с помощью системы Syncano User Management. Мне удалось успешно создать нового пользователя, используя следующий код библиотеки JS:
var sync = new Syncano({ apiKey: 'API_KEY', instance: 'INSTANCE' });
sync.user().add(signUp).then(function(res){
console.log(res);
}).catch(function(err) {
console.log(err);
});
Затем я попытался добавить поля профиля для моего пользователя, следуя приведенному здесь коду: https://www.syncano.io/user-management-for-your-apps/
var sync = new Syncano({ apiKey: 'API_KEY', instance: 'INSTANCE' });
sync.user().add(signUp).then(function(res){
var instance = new Syncano({
apiKey: API_KEY,
instance: INSTANCE_NAME,
userKey: res.user_key
});
instance.class('user_profile').dataobject(res.id).update({firstName: 'First', lastName: 'Last'});
}).catch(function(err) {
console.log(err);
});
Когда я делаю второй вызов API внутри оператора.then() первого, я получаю эту ошибку:
"api.syncano.io/v1/instances/INSTANCE/classes/user_profile/objects/26/:1 PATCH https://api.syncano.io/v1/instances/INSTANCE/classes/user_profile/objects/26/ 404 (НЕ НАЙДЕН) user.service.js:77 Ошибка: {"detail":"Not found"}"
Есть идеи?
1 ответ
Похоже, что есть проблема с примером кода (который, к сожалению, я написал).
Объект, который возвращается после создания пользователя, имеет id
поле для user
объект и profile.id
изменить user_profile
объект.
Строка должна быть этой вместо
instance.class('user_profile').dataobject(res.profile.id).update({firstName: 'First', lastName: 'Last'});
В текущей системе есть еще одна оговорка, которую я также запомню - вы должны сначала установить other permissions
в read
на user_profile
учебный класс.
Это в конечном итоге будет изменено в платформе по умолчанию на read
,
Надеюсь это поможет!