Cuando ejecuto esta llamada, Discourse me responde con {locked: false}.
Intenté bloquear la publicación manualmente e inspeccionar la llamada a la API que hace el cliente de Discourse, y se ve muy similar a la que hago desde mi aplicación, con la excepción del método de autenticación, quizás.
¿No estoy seguro de qué está pasando, alguna idea?
La API para bloquear una publicación está documentada aquí Discourse API Docs, pero sí, también intenté hacer ingeniería inversa de cómo lo hace el cliente de Discourse, y se ve muy similar a la forma en que lo estoy haciendo desde mi aplicación.
Lo que parece estar haciendo una comparación de cadenas.
Eso significa que necesitarías enviar \"locked\": \"true\" y no \"locked\": true, y que la documentación o el código necesitarían ser actualizados para reflejar o cambiar este comportamiento.
El navegador no envía una solicitud JSON, envía Content-Type: application/x-www-form-urlencoded que interpretará el parámetro como una cadena, y es por eso que funciona en el navegador.