Est-il possible d'utiliser la clé API système pour obtenir les sujets « hot » et « latest » pour un utilisateur spécifique ?

Voici mon cas d’utilisation : je souhaite afficher les 5 derniers et les sujets les plus populaires sur la page d’accueil de mon forum. Il faut que cela soit filtré en fonction de ce qui est approprié pour un utilisateur Discourse spécifique – par exemple, certains de mes utilisateurs ont accès à une catégorie privée (contenant des sujets qui devraient apparaître dans les derniers/les plus populaires), tandis que d’autres n’y ont pas accès.

Actuellement, lorsque j’appelle l’API Discourse pour obtenir ce dont j’ai besoin, j’utilise une clé API système. Cela me donne des résultats qui incluent non seulement les catégories masquées, mais qui incluent également systématiquement tous les sujets épinglés globalement en haut de la liste (même si un utilisateur a déjà désépinglé ces sujets).

Vous voyez donc pourquoi j’ai besoin des résultats les plus récents/les plus populaires pour un utilisateur spécifique, et non pour l’ensemble du forum.

Et si cette fonctionnalité est possible en appelant avec une clé API utilisateur, alors c’est un problème différent : il semble très lourd de devoir créer une clé API utilisateur (de manière programmatique) à chaque fois que je veux récupérer ces résultats pour un utilisateur. (Et vraisemblablement détruire la clé API immédiatement après, car je n’en ai besoin pour rien d’autre.) Est-ce la seule solution ?

Je propose une solution où, si vous appelez latest.json ou top.json avec une clé API système, ces points de terminaison pourraient accepter un paramètre optionnel d’ID utilisateur pour limiter les résultats.

Si vous créez une clé API pour tous les utilisateurs, vous pouvez spécifier l’utilisateur sous lequel elle s’exécute. Elle imite alors cet utilisateur.

Salut @sam, c’est fantastique ! Quel est alors le point de terminaison ? Je possède déjà une clé d’API système pour tous les utilisateurs.

Le point de terminaison normal, qui me donne tout le contenu récent, non filtré :

/latest.json

Les points de terminaison spécifiques à un utilisateur que j’ai essayés, mais qui ne fonctionnent pas (où username est le nom d’un utilisateur de mes forums) :

/username/latest.json
/latest/username.json
/username/latest
/latest/username
/latest/4.json (en utilisant l’ID de l’utilisateur au lieu du nom d’utilisateur)
etc.

Je n’arrive pas à le trouver :-\

Vous devez spécifier le nom d’utilisateur dans Api-Username comme dans l’exemple de la documentation ci-dessus.

Ahaaaaa, merci. Je vois maintenant.