토픽 쓰기 권한이 있음에도 API로 토픽을 수정할 수 없음

여러분께,

Topic Write 접근 권한이 있음에도 불구하고 주제 제목을 편집할 수 없다는 것을 확인했습니다.
이는 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"}

모든 세부 스코프를 선택해도 동일한 응답을 받습니다.

Scope: Global로 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}}

Topic Write 접근 권한은 편집 작업을 지원해야 한다고 기대합니다. 이를 위해 글로벌 스코프를 강제하는 것은 바람직하지 않은 것 같습니다.

2개의 좋아요

새 주제를 작성하려는 건가요, 아니면 기존 주제를 수정하려는 건가요?

@pfaffman 주제 제목을 업데이트하기 위해 업데이트 토픽 엔드포인트(Discourse API Docs)를 사용하려고 합니다.

2개의 좋아요

이 문제에 대한 API 스코핑을 확인해 보겠습니다. 제 추측으로는 업데이트를 위한 PUT 요청이 아니라 POST 요청만 보고 있는 것 같습니다.

1개의 좋아요

이제 이를 위해 사용할 수 있는 update topic 범위가 추가되었습니다.

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개의 좋아요