FLucas
1
こんにちは。
古いアプリから新しいDiscourseへのデータ移行をまだ行っています。
以下のAPI呼び出しで、カテゴリとその説明を作成できません。
curl -X POST "https://site-discourse/categories.json" \
-H "Api-Key: api-key" \
-H "Api-Username: api-username" \
-d "name=categorie test" \
-d "description=Description De La Categorie"
カテゴリは作成されますが、説明がありません。
以下の応答が得られます。
{"category":{"id":21,"name":"categorie test",[...],"slug":"categorie-test",[...] **,"description":null**,"description_text":null,"description_excerpt":null,"topic_url":"/t/a-propos-de-la-categorie-categorie-test/12286",[...]}
ご協力ありがとうございます。
Canapin
(Coin-coin le Canapin)
2
こんにちは 
カテゴリの説明は、自動的に作成される「概要」トピックの内容です。デフォルトのテキストは、編集されるまで「null」と見なされる可能性があります。
カテゴリを作成するリクエストには、「description」パラメータが利用できないと思われ、「概要」トピックの最初の投稿を更新するために別 のAPIリクエストを行う必要があります。
インポートプロセスによっては、APIを使用する代わりに適切なインポートスクリプトを使用したい場合があります。Migration を参照してください。
「いいね!」 1
FLucas
3
返信ありがとうございます。
以下は、カテゴリを作成してから説明を変更できるスクリプトです。
curl -X POST "https://site-discourse/categories.json" \
-H "Api-Key: api-key" \
-H "Api-Username: api-username" \
-d "name=Catégorie 1"
sleep 2
latest_posts_response=$(curl -X GET "https://site-discourse/posts.json" \
-H "Content-Type: application/json" \
-H "Api-Key: api-key" \
-H "Api-Username: api-username")
post_id=$(echo $latest_posts_response | jq '.latest_posts[0] .id')
curl -X PUT "https://site-discourse/posts/$post_id.json" \
-H "Content-Type: application/json" \
-H "Api-Key: api-key" \
-H "Api-Username: api-username" \
-d '{
"post": {
"raw": "Description de la catégorie 1"
}
}'