Permissão de API necessária para acionar o temporizador do tópico

Olá!

Estou tentando acionar o “fechar tópico x dias após a última resposta”, mas não consigo descobrir qual permissão é necessária. Não quero realmente conceder uma permissão de escrita completa.

Endpoint específico:
POST /t/{ID}/timer

Exemplo de payload:

status_type=close&based_on_last_post=true&duration_minutes=20160

Alguém pode me indicar o caminho certo, por favor?

Muito obrigado desde já!

Ei, Mathew,

Você poderia compartilhar o erro que está sendo acionado para revisão?

Oi, @pedro

Eu sempre recebia um erro 403, a menos que eu desse acesso total de escrita.

Pelas dicas na visão da API sobre as diferentes URLs suportadas, nenhuma parece corresponder ao formato do timer (/t/{ID}/timer). Mas talvez eu esteja perdendo alguma coisa :slight_smile:

Eu prefiro não dar acesso total de escrita, então estou apenas tentando identificar qual permissão é necessária especificamente para isso.

Obrigado!

O erro 403 provavelmente está relacionado à permissão exigida pelo endpoint de timer do tópico, e não aos parâmetros duration_minutes ou based_on_last_post.

Eu verificaria os requisitos de autorização do endpoint no código-fonte atual do Discourse para POST /t/{id}/timer, em vez de confiar apenas nas permissões exibidas na documentação da API. A ação de timer pode exigir a mesma capacidade de escrita/moderação no nível do tópico usada pela interface, o que explicaria por que o acesso total de escrita funciona atualmente.

Se houver uma permissão mais granular disponível para timers de tópico, deve ser possível identificá-la a partir da verificação de autorização do endpoint e do método correspondente de política/guardião. Caso contrário, restringir a chave de API apenas ao escopo de tópico necessário seria preferível a conceder um acesso de escrita mais amplo.