Создание пользователей через REST API

http://forums.my-domain.net/users.json возвращает ошибку 404

Неужели документация устарела?

Привет и добро пожаловать @NubeBuster :slight_smile:

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

Вы используете API-ключ и учётную запись с необходимыми правами доступа?

После изменения URL с .json на http://forums.my-domain.net/users я получаю HTTP-ответ «204 No Content».

При создании ключа API я не вижу маршрут создания в режиме детализированных разрешений, поэтому установил его как глобальный. Возможно, проблема действительно в отсутствии прав. Нужно ли создавать ключ от имени системного пользователя? Сейчас я использую пользователя-администратора с группой «Discourse Admin».


const data = create = {
    name: "TestName",
    email: "test@mydomain.com",
    password: "TestTestTest",
    username: "TestUsername",
    active: true,
    approved: true,
    "user_fields[1]": true,
    external_ids: {
      uuid: "some uuid",
    },
};
// URLSearchParams работает так же, как FormData
const formData = new URLSearchParams();
for (const key in data) {
  formData.append(key, data[key]);
}

const url = BASE_URL + "users";
const response = await fetch(url, {
  method: "POST",
  headers: {
    "Content-Type": "application/x-www-form-urlencoded",
     Accept: "application/json",
     "Api-Key": API_KEY,
     "Api-Username": API_USER,
  },
  body: formData,
 });

console.log("Ответ: " + response.status + ": " + response.statusText);

Может, покажете команду или код, который вы используете для отправки запроса? @JammyDodger

Какую проблему вы решаете, создавая пользователей через API?

Я хочу, чтобы пользователи были привязаны к аккаунту Minecraft. Зарегистрироваться могут только посетители моего сервера Minecraft. Они сделают это, выполнив внутриигровую команду с указанием своего адреса электронной почты. Их имя пользователя и отображаемое имя будут совпадать с их игровым ником.

Это необходимо для предотвращения создания спам-аккаунтов и для привязки имени пользователя, чтобы оно совпадало с их игровым тегом.

Я решил проблему. URL должен был быть https, а не http.