У меня есть скрипт, который ежедневно запускается для создания новых пользователей через API. До нескольких дней назад после завершения запроса в ответе указывался user_id созданного пользователя. Теперь API этого не делает? Но в документации API указано, что это должно происходить.
Создаётся ли пользователь?
Мне кажется, что по какой-то причине пользователь не создаётся, и поэтому не возвращается user_id.
Пользователи создаются. Я это подтвердил. API возвращает этот статус, но в нём отсутствует user_id
{
"success": true,
"active": true,
"message": "Ваша учётная запись активирована и готова к использованию."
}
Да, похоже, это баг. Я искал объяснения на Commits · discourse/discourse · GitHub, но ничего не нашёл.
Чтобы подтвердить проблему, я создал пользователя через API в версии 3.4.0.beta3-dev, и в ответе был возвращён user_id.
{
"success": true,
"active": true,
"message": "Ваша учётная запись активирована и готова к использованию.",
"user_id": 3
}
После обновления до версии 3.4.0.beta4-dev я повторил действие, и теперь user_id отсутствует:
{
"success": true,
"active": true,
"message": "Ваша учётная запись активирована и готова к использованию."
}
Итак, вы сузили круг поиска до проблемного коммита.
Только догадка
Вероятно, связано с DEV: Change hide_email_address_taken default to true (#30293) · discourse/discourse@c1c7ea8 · GitHub, объяснённым здесь:
Кажется, было бы желательно переопределить это поведение, когда запрос выполняется с использованием API-ключа администратора?
Спасибо! Изменение этого параметра восстановило результат API, так что теперь я получаю user_id в ответе после создания пользователя.
Здравствуйте,
У нас то же самое…
Это что-то, над чем сейчас работают разработчики? Потому что может быть непросто помнить, что эти настройки противоречат документации ![]()