API経由でのトピック編集ができません(トピック書き込み権限あり)

皆さん、こんにちは。

トピックの書き込みアクセス権があるにもかかわらず、トピックのタイトルを編集できないことに気づきました。
これは、APIキーがグローバルスコープを持っている場合にのみ機能するようです。

以下の権限スコープを持つAPIキーを使用した場合:

以下のエラーが発生します。

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

すべてのグラニュラースコープを選択した場合でも、同じ応答が得られます。

スコープ:グローバルでAPIキーを作成した場合にのみ、トピックのタイトルを編集できます。

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

トピックの書き込みアクセス権があれば、編集操作がサポートされると予想していました。グローバルスコープを強制するのは望ましくないと思われます。

「いいね!」 2

新しいトピックを作成しようとしていますか、それとも既存のトピックを変更しようとしていますか?

@pfaffman トピックのタイトルを、トピック更新エンドポイント Discourse API Docs を使用して編集しようとしています。

「いいね!」 2

APIのスコープについて確認します。POSTリクエストのみを見て、更新用のPUTリクエストを見ていない可能性があります。

「いいね!」 1

これで、これに使用できる トピック更新 スコープが利用可能になりました。

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