Hola, hemos instalado el plugin “Solved” y estamos creando categorías mediante programación con un script de Python. Queremos establecer estos campos de configuración de categoría como “True”. Al ejecutar el script, dice que se actualizó correctamente, pero cuando verificamos el campo de configuración de esta categoría, no está configurado como “True” y sigue en “False”. ¿Cómo depurar y solucionar este problema?
Siempre sigo Reverse engineer the Discourse API para este tipo de preguntas.
Por lo que sé, si estás creando categorías con un script, asumo que estás usando JSON para añadir las categorías. Tendrías que hacer algunos cambios en el endpoint y en el script. También puedes consultar esta documentación: API de Categorías de Discourse.
Sin embargo, Discourse es una herramienta potente. Puedes consultar esta guía: Ingeniería inversa de la API de Discourse. Dado que Discourse está respaldado por una API JSON completa, puedes hacer ingeniería inversa, realizar las modificaciones necesarias y hacer que funcione como necesitas.
Una pista rápida:
- Cambia la configuración deseada de “Resuelto” manualmente en la interfaz de usuario.
- Inspecciona las solicitudes de red realizadas por el navegador para identificar el endpoint exacto de la API, el método de solicitud (por ejemplo,
PUT) y la carga útil.
En un script de Python se vería algo así:
payload = {
"enable_solved": True # Ajusta esto
}
response = requests.put(url, headers=headers, json=payload)
if response.status_code == 200:
print("Categoría actualizada")
else:
print(f"Fallo: {response.status_code} - {response.text}")
update_category_settings(category_id=123)
PD: No estoy completamente seguro de esto, pero recientemente he creado algunos scripts, así que esta respuesta se basa en las cosas que he encontrado hasta ahora. ![]()
Gracias Mihir, ayudó a resolver este problema. Aprecio tus aportaciones y sugerencias.
Gracias Thomas por señalar este enfoque.
Me alegro de que haya ayudado ![]()
