Signalement d'un post avec API cassée

J’ai marqué certains messages à l’aide de l’API et de Python. Cela a fonctionné pendant plusieurs années, jusqu’à une mise à niveau récente vers la version 3.2.0.beta4-dev. Maintenant, j’obtiens DiscourseClientError: You are not permitted to view the requested resource. Ma clé API est toujours valide et n’est pas révoquée. L’ingénierie inverse en marquant manuellement un message montre que la charge utile pour le marquage n’a pas changé (sauf peut-être la valeur de flag_topic, mais cela ne semble pas avoir d’importance). Des idées ?

       self._post(
            "/post_actions",
            id=post_id,
            post_action_type_id=7, # marquer
            message=msg,
            flag_topic=True
        )

Un changement récent concernant le signalement a été le passage à un paramètre activé par groupe plutôt qu’à un niveau de confiance (groupes autorisés pour le signalement de messages), si cela pouvait être lié d’une manière ou d’une autre ?

1 « J'aime »

Mes paramètres :

Ma clé API :

Alors peut-être que « Tous les utilisateurs » n’ont plus la permission de signaler, et j’ai besoin d’une nouvelle clé API pour un « Utilisateur unique » qui a la permission (moi-même, par exemple) ? Je ne comprends pas clairement ce que signifie « Tous les utilisateurs ». TL0 ?

Théoriquement, comme la valeur par défaut de TL1 est restée la même lors du changement de configuration, j’aurais pensé que les mêmes autorisations pour la clé API fonctionneraient toujours, bien que comme elle soit maintenant basée sur le groupe plutôt que sur le niveau de confiance, il pourrait y avoir autre chose qui a un effet. Il y a eu un rapport indiquant que la visibilité du groupe était un facteur dans une autre bizarrerie qui est apparue pour l’un des autres paramètres qui a été déplacé vers le format autorisé par groupe. Par hasard, avez-vous modifié la visibilité de votre groupe TL1 à un moment donné ?

1 « J'aime »

Non, tous les groupes sont visibles.


J’ai également essayé avec une nouvelle clé d’API, cette fois pour un utilisateur unique « discobot » (mon webhook s’exécute en tant qu’utilisateur discobot), et comme discobot est TL0, j’ai changé flag post allowed groups en TL0. Toujours la même erreur : You are not permitted to view the requested resource.

Ça fonctionne maintenant après avoir augmenté @discobot à TL1. Je ne suis pas sûr de la conclusion - assurez-vous simplement que votre utilisateur répond aux paramètres de niveau de confiance et basés sur les groupes. Même dans ce cas, je ne peux pas expliquer pourquoi cela fonctionnait auparavant puis s’est arrêté.

1 « J'aime »

Hmm. Je ne suis pas sûr :thinking: Heureux que cela fonctionne maintenant cependant. :slight_smile: J’ai contacté le développeur qui a effectué le changement pour voir s’il y a plus à cela, mais nous attendrons peut-être d’autres rapports pour approfondir maintenant que le vôtre est de nouveau opérationnel.

Eh bien, cela a fonctionné pendant un court moment, peut-être un jour. Ensuite, @discobot perd à nouveau sa capacité à signaler. Pour être clair, cela n’a rien à voir avec l’API : si j’usurpe l’identité de @discobot et que je parcours des sujets, l’icône de signalement n’est pas disponible. Si je change ensuite le niveau de confiance de @discobot, même à un niveau inférieur, les icônes de signalement réapparaissent. J’essaierai de mieux le caractériser, mais quelque chose semble mal fonctionner.

De plus, je ne sais pas si le problème est propre à @discobot. J’utilise simplement @discobot car c’est l’utilisateur auquel on s’attendrait naturellement pour signaler automatiquement les publications. Et cela a fonctionné pendant des années.

Je pense que vous devrez peut-être vérifier avec un autre utilisateur. Il y a une sorte de magie qui supprime Discobot et System des groupes de niveaux de confiance, donc tout ce qui est basé sur les groupes de niveaux de confiance et qui utilise ces utilisateurs vous donnera des résultats étranges (ils sont actuellement réintégrés à chaque fois que vous mettez à jour votre forum, puis à nouveau supprimés peu de temps après).

Si vous pouviez créer un utilisateur de test spécifique pour essayer cela, les résultats seront beaucoup plus clairs.

1 « J'aime »

OK, j’ai créé un utilisateur spécifique pour effectuer le marquage via l’API. On va voir comment ça se passe…

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.