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 키를 생성할 때 granular 모드에서 create 라우트를 찾을 수 없습니다. 그래서 global로 설정했습니다. 아마도 권한이 없는 것이 문제일 수 있습니다. 시스템 사용자(system user)로 키를 생성해야 하나요? 현재 “Discourse Admin” 그룹에 속한 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 is the same as 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: " + response.status + ": " + response.statusText);

요청을 보내는 데 사용하는 명령어/코드를 보여줄 수 있을까요? @JammyDodger

API를 통해 사용자를 생성함으로써 어떤 문제를 해결하고자 하시나요?

사용자가 Minecraft 계정에 연결되기를 원합니다. 제 Minecraft 서버를 방문하는 사용자만 가입할 수 있습니다. 가입은 게임 내 명령어로 이메일 주소를 입력하는 방식으로 이루어집니다. 이때 사용자의 사용자 이름과 표시 이름은 게임 내 닉네임이 됩니다.

이것은 스팸 계정을 방지하고, 사용자 이름을 게임 태그와 동일하게 고정하기 위한 것입니다.

문제를 해결했습니다. URL이 http가 아니라 https여야 했습니다.