안녕하세요, CSV 입력을 사용하여 카테고리를 생성하는 도구를 개발하고 있습니다. 카테고리 생성 시 부모-자식 관계를 성공적으로 설정할 수 있었습니다. 그러나 카테고리 설정을 적용할 때 문제가 발생하고 있으며, 일관되게 실패하고 있습니다. 새 카테고리를 생성한 후 카테고리 설정(아래에 나열된 것들)을 적용하는 방법에 대한 조언을 구합니다. 설정을 적용하기 전에 최대 40초까지 지연을 추가하는 것도 시도해 보았지만, 여전히 작동하지 않습니다.
또한 카테고리 설명을 업데이트하는 방법도 알고 싶습니다: update_about_post(category_id, description) # 설명만 업데이트.
그리고 카테고리에 두 개의 추가 사용자 정의 필드를 추가하고 싶은데, 어떻게 추가해야 하는지 궁금합니다.
카테고리 설정을 업데이트하는 함수
def update_category_settings(category_id):
time.sleep(5) # 설정을 적용하기 전에 카테고리가 완전히 생성되었는지 확인하기 위해 지연 추가
url = f"{DISCOURSE_URL}/categories/{category_id}"
data = {
"subcategory_list_style": "boxes", # 하위 카테고리 스타일을 "Boxes"로 설정
"show_subcategory_list": True, # 주제 위에 하위 카테고리 목록 표시
"allow_solved_on_category": True # 해결됨 기능 활성화
}
response = requests.put(url, json={"category": data}, headers=headers)
if response.status_code == 200:
print(f"카테고리 ID {category_id}에 대한 카테고리 설정이 업데이트되었습니다")
else:
print(f"카테고리 ID {category_id}의 설정 업데이트 실패: {response.status_code}, {response.text}")
이는 예상되는 동작입니다. 설명을 추가하려면 해당 카테고리의 “about”(소개) 주제를 편집해야 합니다. 안타깝게도 카테고리 URL(예: http://localhost:4200/categories/10.json)에 대한 요청에서는 “about” 주제 URL이 반환되지 않는 것으로 보입니다. 하지만 사이트의 categories/json URL을 통해 이를 가져올 수는 있습니다. “about” 주제 URL을 포함하는 필드는 topic_url이라고 합니다. 예를 들어: "topic_url":"/t/about-the-general-category/3".
따라서 제가 놓친 더 쉬운 방법이 없는 한, /categories.json에 요청을 보내 관심 있는 카테고리의 topic_url을 가져온 후, 해당 주제의 첫 번째 게시물을 편집하기 위해 API 요청을 보내야 합니다.