Comment activer ce champ - "Résolu" - de manière programmatique pour chaque catégorie

Bonjour,

Nous avons installé le plugin « Solved » et nous créons des catégories par programme à l’aide d’un script Python. Nous souhaitons définir ces champs de paramètres de catégorie sur « True ». Lors de l’exécution du script, il indique que la mise à jour a réussi, mais lorsque nous vérifions le champ des paramètres de cette catégorie, il n’est pas défini sur « True » et reste sur « False ». Comment déboguer et résoudre ce problème ?

2 « J'aime »

Je suis toujours Reverse engineer the Discourse API pour de telles questions.

5 « J'aime »

D’après ce que je sais, si vous créez des catégories avec un script, je suppose que vous utilisez JSON pour ajouter les catégories. Vous devrez apporter quelques modifications au point de terminaison et au script. Vous pouvez également vous référer à cette documentation : API des catégories Discourse.

Cependant, Discourse est un outil puissant. Vous pouvez consulter ce guide : Ingénierie inverse de l’API Discourse. Comme Discourse est soutenu par une API JSON complète, vous pouvez l’ingénierie inverse, apporter les modifications nécessaires et la faire fonctionner comme vous le souhaitez.

Un indice rapide :

  • Modifiez le paramètre “Résolu” souhaité manuellement dans l’interface utilisateur.
  • Inspectez les requêtes réseau effectuées par le navigateur pour identifier le point de terminaison exact de l’API, la méthode de requête (par exemple, PUT) et la charge utile.

Dans un script Python, cela ressemblerait à ceci :

 payload = {
        "enable_solved": True  # Ajustez ceci
    }

    response = requests.put(url, headers=headers, json=payload)
    if response.status_code == 200:
        print("Catégorie mise à jour")
    else:
        print(f"Échec : {response.status_code} - {response.text}")

update_category_settings(category_id=123)

PS : Je ne suis pas entièrement sûr de cela, mais j’ai récemment créé quelques scripts, donc cette réponse est basée sur les choses que j’ai rencontrées jusqu’à présent. :slightly_smiling_face:

Merci Mihir, cela a permis de résoudre ce problème. J’apprécie vos commentaires et suggestions.

1 « J'aime »

Merci Thomas d’avoir souligné cette approche.

Je suis content que cela ait aidé :slight_smile: