API를 사용해 그룹을 대량으로 생성해야 합니다

안녕하세요,

API를 사용하여 대량의 그룹을 생성해야 하는데, JSON이 여러 값의 배열을 지원하지 않습니다. API 호출당 하나의 그룹만 생성할 때만 작동합니다.

이상적으로는 create 호출을 한 번만 하고 이름을 JSON 배열로 전달하길 원하는데, 그렇게 하면 Status: 500 (Internal Server Error) 오류가 발생합니다.

아래 코드가 작동할 것이라고 기대했지만 작동하지 않습니다 - 도움을 주세요. 200개 이상의 그룹에 대해 이야기하는 것이며, 문서에 나와 있듯이 https://{defaultHost}/admin/groups.json에 POST를 사용하고 있습니다.

{
  "group": [
    {
      "name": "X"
    },
    {
      "name": "Y"
    },
    {
      "name": "Z"
    }
]
}

제 생각에는 createGroups가 아니라 createGroup으로 불리는 것 같습니다. 설명에 "그룹을 생성합니다"라고 되어 있고, "원하는 만큼의 그룹을 생성합니다"라고 되어 있지는 않거든요.

값을 직접 반복문으로 순회하면서 추가하려는 각 그룹에 대해 호출해야 합니다. 또한, 속도 제한에 도달했을 때 재시도하는 코드를 구현하거나, 호출 사이에 일부 지연 시간을 넣는 것이 좋을 것입니다.

@pfaffman 좋네요, 감사합니다! 이해가 갑니다!

~B

@pfaffman 작은 스크립트를 작성했을 때 예상대로 잘 작동했지만, 이제 또 다른 문제에 직면했습니다. API는 "full name"이 아닌 "name"만 허용하므로, create 메서드를 사용하여 full name을 입력할 수 있는 방법이 없습니다. 허용되는 유일한 필드인 "name"도 공백을 허용하지 않아, 결국 full name이 비어 있고 "name"에는 "_"를 사용해야 하는 그룹이 대량으로 생성됩니다.

이상적으로는 API를 통해 그룹을 생성할 때 name 외에도 full name을 제공할 수 있으면 좋겠습니다.

감사합니다
Boyan

그렇게 하면 말이 안 됩니다. API는 프론트엔드가 그룹을 생성할 때 사용하는 것이기 때문입니다. UX에서 전체 이름을 생성할 수 있으므로 API에서도 생성할 수 있습니다.

그룹 이름은 그렇게 동작합니다.

전체 이름을 어디에서 지정하는지 알려주시면 감사하겠습니다. 프론트엔드에서 전체 이름을 편집할 수 있으므로, API가 프론트엔드에 의해 사용된다는 주장에는 동의하기 어렵습니다. 그런데 여기서 전체 이름이 보이지 않네요.

죄송합니다. Discourse API 역공학하기 링크를 안내해 드렸다고 생각했는데요. 역공학 방법을 사용하시거나 소스 코드를 직접 확인하시는 것을 추천드립니다. 현재 Discourse를 활발하게 개발 중인 분들이 해당 문서를 실제로 사용하지 않는 것 같아, 문서가 완전하거나 최신 상태를 유지하고 있다고 신뢰하기 어렵습니다.