Keine Beschreibung in einer Kategorie über API

Hallo,

Ich importiere immer noch Daten aus einer alten App in unser neues Discourse.
Ich kann keine Kategorie mit ihrer Beschreibung über den folgenden API-Aufruf erstellen:

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"

Die Kategorie wird erstellt, aber es gibt keine Beschreibung.

Ich erhalte die folgende Antwort:

{"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",[...]}

Vielen Dank für Ihre Hilfe.

Hallo :blob_wave:

Die Beschreibung einer Kategorie ist der Inhalt des automatisch erstellten „Info“-Themas. Der Standardtext wird wahrscheinlich als „null“ betrachtet, bis er bearbeitet wird.

Ich glaube, es gibt keinen verfügbaren „description“-Parameter in der Anfrage zum Erstellen einer Kategorie, und Sie müssen eine weitere API-Anfrage stellen, um den ersten Beitrag des Info-Themas zu aktualisieren.

Abhängig von Ihrem Importprozess möchten Sie möglicherweise ein richtiges Importskript anstelle der API verwenden. Siehe Migration

1 „Gefällt mir“

Vielen Dank für Ihre Antwort

Ich habe dieses Skript erstellt, mit dem Sie eine Kategorie erstellen und dann ihre Beschreibung ändern können:

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"
      }
     }'

Hat es am Ende funktioniert?

Ja, danke, es funktioniert!

1 „Gefällt mir“