Impossível editar tópico via API apesar do acesso de escrita ao tópico

Olá a todos,

Notei que, apesar de ter acesso de escrita de tópicos (Topic Write access), não consigo editar o título de um tópico.
Isso parece funcionar apenas quando a chave de API tem um escopo global.

Com uma chave de API que tem os seguintes escopos de permissão:

Estou recebendo:

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":["Você não tem permissão para visualizar o recurso solicitado. O nome de usuário ou a chave da API é inválido."],"error_type":"invalid_access"}

E recebo a mesma resposta quando seleciono todos os escopos granulares.

Somente ao criar uma chave de API com Escopo: Global, consigo editar o título do tópico:

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

Eu esperaria que o acesso de escrita de tópicos (topic write access) suportasse a operação de edição. Para mim, parece que impor o escopo global para isso não é o desejado.

2 curtidas

Você está tentando escrever um novo tópico ou modificar um existente?

@pfaffman Estou tentando editar o título de um tópico através do endpoint de atualização de tópico Discourse API Docs

2 curtidas

Vou investigar o escopo da API para isso. Minha suposição é que ela está olhando apenas para a solicitação POST e não para a solicitação PUT para atualização.

1 curtida

Agora existe um escopo de tópico de atualização que você pode usar para isso.

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 curtidas