Ошибка обновления профиля управления пользователями 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,

Надеюсь это поможет!

Другие вопросы по тегам