无法通过 API 创建主题

我在本地机器上运行 Discourse。当我尝试创建主题时,收到了以下响应:
{"id":24,"name":null,"username":"msriitd","avatar_template":"/user_avatar/localhost/msriitd/{size}/3_2.png","created_at":"2020-07-09T12:08:59.695Z","cooked":"\u003cp\u003eAnything above the 20 characters\u003c/p\u003e","post_number":6,"post_type":1,"updated_at":"2020-07-09T12:08:59.990Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":0,"readers_count":0,"score":0,"yours":true,"topic_id":3,"topic_slug":"about-the-lounge-category","display_username":null,"primary_group_name":null,"primary_group_flair_url":null,"primary_group_flair_bg_color":null,"primary_group_flair_color":null,"version":1,"can_edit":true,"can_delete":true,"can_recover":false,"can_wiki":true,"user_title":null,"actions_summary":[{"id":3,"can_act":true},{"id":4,"can_act":true},{"id":8,"can_act":true},{"id":7,"can_act":true}],"moderator":false,"admin":true,"staff":true,"user_id":1,"draft_sequence":5,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"reviewable_id":null,"reviewable_score_count":0,"reviewable_score_pending_count":0}

我认为主题已创建,但在我的界面中看不到它。有人能告诉我我哪里做错了吗?

您能分享一下用于创建主题的请求吗?一种可能性是,您可能创建的是私信而不是普通主题?

topic := Topic{Title: title, TopicID: topicId, Raw: raw, Category: category, CreatedAt: createdAt}

	jsonReq, err := json.Marshal(topic)
	if err != nil {
		fmt.Println(err)
	}

	req, err := http.NewRequest("POST", "http://localhost:3000/posts.json", bytes.NewBuffer(jsonReq))
	req.Header.Set("Api-Key", "key")
	req.Header.Set("Api-Username", "user")
	req.Header.Set("Content-Type", "application/json; charset=utf-8")
client := http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatalln(err)
	}

	b, err := ioutil.ReadAll(resp.Body)
	fmt.Println(string(b))

创建主题时,可以省略 topic_id。topic_id 仅在向现有主题创建帖子时需要。

看起来您正在向现有主题创建帖子,而不是创建新主题。您可以直接访问它来查看为何它未显示在动态中:/t/about-the-lounge-category/3

如果您未登录,将无法看到该帖子,因为它位于私有的 lounge 类别中。

4 个赞