Kann Thema trotz Schreibzugriff nicht über API bearbeiten

Hallo zusammen,

Mir ist aufgefallen, dass ich trotz Topic Write-Zugriff den Titel eines Themas nicht bearbeiten kann.
Dies scheint nur zu funktionieren, wenn der API-Schlüssel einen globalen Geltungsbereich hat.

Mit einem API-Schlüssel, der die folgenden Berechtigungsumfänge hat:

erhalte ich:

curl 'https://__NAME__.discourse.team/t/-/19.json' \
  -H "Api-Key: 3990a1..." \
  -H "Api-Username: system" \
  -H "Content-Type: application/json" \
  -X PUT \
  -d "{ \"title\": \"Title - test curl v5\" }"

{"errors":["You are not permitted to view the requested resource. The API username or key is invalid."],"error_type":"invalid_access"}

Und ich erhalte die gleiche Antwort, wenn ich alle granularen Umfänge auswähle.

Nur wenn ich einen API-Schlüssel mit dem Geltungsbereich: Global erstelle, kann ich den Titel des Themas bearbeiten:

curl 'https://__NAME__.discourse.team/t/-/19.json' \
  -H "Api-Key: 0adc49d..." \
  -H "Api-Username: system" \
  -H "Content-Type: application/json" \
  -X PUT \
  -d "{ \"title\": \"Title - test curl v5\" }"

{"basic_topic":{"id":19,"title":"Title - test curl v5","fancy_title":"Title - test curl v5","slug":"title-test-curl-v5","posts_count":2}}

Ich würde erwarten, dass der Topic Write-Zugriff die Bearbeitungsoperation unterstützt. Mir scheint, dass die Erzwingung des globalen Geltungsbereichs dafür nicht erwünscht ist.

2 „Gefällt mir“

Möchten Sie ein neues Thema erstellen oder ein vorhandenes ändern?

@pfaffman Ich versuche, den Titel eines Themas über den Endpunkt update topic zu bearbeiten: Discourse API Docs

2 „Gefällt mir“

Ich werde mir den API-Bereich dafür ansehen. Ich vermute, dass er nur die POST-Anfrage und nicht die PUT-Anfrage für die Aktualisierung berücksichtigt.

1 „Gefällt mir“

Es gibt jetzt ein Thema-Update im Bereich, den Sie dafür verwenden können.

curl -i -sS -X PUT "http://localhost:4200/t/-/101.json"  \
-H "Content-Type: multipart/form-data"  \
-H "Api-Key: 54096675ed84dcf0016a3b05199cccde67e5175057e53f8e005e2625940a15e6"  \
-H "Api-Username: blake.erickson"  \
-F "title=8bd599 cae3dfdbf 7210753"

HTTP/1.1 200 OK
5 „Gefällt mir“