Tolle Frage, ich stimme zu, das kann etwas verwirrend sein. Wenn Sie mehrere post_ids übergeben möchten, geben Sie mehrere Formularfelder für post_ids[] wie in diesem curl-Beispiel an:
ist dies immer noch der empfohlene Weg, ein Array an die API zu senden? Ich versuche, einen Webhook zu erstellen, kann aber den Parameter web_hook_event_type_ids (Array) nicht senden.
Ich habe es mit CURL (als multipart/form-data) versucht:
curl -X POST "https://MYSITE.com/admin/api/web_hooks" \
-H "Api-Key: KEY" \
-H "Api-Username: USER" \
-F "payload_url=https://MYOTHERSITE.com" \
-F "content_type=1" \
-F "wildcard_web_hook=false" \
-F "verify_certificate=true" \
-F "active=true" \
-F "web_hook_event_type_ids[]=2"
# Ich erhalte
{"errors":["param is missing or the value is empty: web_hook"]}%
Es sieht so aus, als ob dieser gesamte Endpunkt die Werte in einem verschachtelten web_hook-Parameter erwartet:
Ich bin kein großer Fan dieses verschachtelten Formats, und es gibt einige Endpunkte wie diesen, die auf meiner Liste für eine spätere Korrektur stehen. Sie können einen API-Aufruf dafür mit Form-Daten wie folgt durchführen:
Ah, vielen Dank. Das stand so nicht in der Discourse-API, also war ich völlig verwirrt.
Außerdem habe ich festgestellt, dass die Angabe von mindestens einem Element in web_hook_event_type_ids erforderlich ist, selbst wenn ich am Ende wildcard_web_hook=true verwende. Das hat mich auch eine Weile ratlos gelassen.