J’essaie de déclencher la fermeture d’un sujet x jours après la dernière réponse, mais je n’arrive pas à déterminer quelle permission est nécessaire. Je ne souhaite pas vraiment accorder une permission d’écriture complète.
Point de terminaison spécifique : POST /t/{ID}/timer
J’ai toujours reçu une erreur 403, sauf si j’accordais un accès en écriture complet.
D’après les indices fournis par la vue de l’API concernant les différentes URL prises en charge, aucune ne semble correspondre au format de celle du minuteur (/t/{ID}/timer). Mais je peux tout simplement passer à côté de quelque chose
Je préfère ne pas accorder un accès en écriture complet, je cherche donc simplement à identifier quelle permission est nécessaire pour cela en particulier.
L’erreur 403 est probablement liée à la permission requise par le point de terminaison du minuteur de sujet, plutôt qu’aux paramètres duration_minutes ou based_on_last_post.
Je vérifierais les exigences d’autorisation du point de terminaison dans le code source actuel de Discourse pour POST /t/{id}/timer, plutôt que de me fier uniquement aux permissions affichées dans la documentation de l’API. L’action du minuteur peut nécessiter la même capacité d’écriture ou de modération au niveau du sujet utilisée par l’interface utilisateur, ce qui expliquerait pourquoi l’accès en écriture complet fonctionne actuellement.
S’il existe une permission plus granulaire disponible pour les minuteurs de sujets, il devrait être possible de l’identifier à partir de la vérification d’autorisation du point de terminaison et de la méthode de politique/gardien correspondante. Sinon, il serait préférable de restreindre la clé API uniquement à la portée du sujet requise plutôt que d’accorder un accès en écriture plus large.