È possibile utilizzare la chiave API di sistema per ottenere gli argomenti "hot" e "latest" per un utente specifico?

Ecco il mio caso d’uso: voglio mostrare i 5 argomenti più recenti e popolari nella home page del mio forum. Ho bisogno che siano filtrati in base a ciò che è appropriato per un determinato utente di Discourse: ad esempio, alcuni utenti hanno accesso a una categoria privata (che contiene argomenti che dovrebbero apparire tra i più recenti/popolari), mentre altri no.

Attualmente, quando chiamo l’API di Discourse per ottenere ciò di cui ho bisogno, utilizzo una chiave API di sistema. Questo mi restituisce risultati che includono non solo le categorie nascoste, ma anche sempre gli argomenti fissati a livello globale in cima alla lista (anche se un utente potrebbe averli già sbloccati da tempo).

Quindi, come puoi vedere, ho bisogno dei risultati più recenti/popolari specifici per un utente, non per l’intero forum.

E se questa funzionalità fosse possibile chiamando con una chiave API utente, allora si tratterebbe di un problema diverso: sembra molto macchinoso dover creare una chiave API utente (in modo programmatico) ogni volta che voglio recuperare questi risultati per un utente. (E presumibilmente distruggere la chiave API subito dopo, dato che non mi serve per nient’altro.) È questo l’unico modo?

Propongo una soluzione in cui, se si chiama latest.json o top.json con una chiave API di sistema, questi endpoint possano accettare un parametro opzionale ID utente per limitare i risultati.

Se crei una chiave API per tutti gli utenti, puoi specificare l’utente con cui viene eseguita. In tal modo, impersona quell’utente.

Ciao @sam, fantastico! Qual è quindi l’endpoint? Ho già una chiave API di sistema per tutti gli utenti.

L’endpoint normale, che mi restituisce tutto l’ultimo contenuto non filtrato:

/latest.json

Gli endpoint specifici per utente che ho provato, che non funzionano (dove username è il nome di un utente nei miei forum):

/username/latest.json
/latest/username.json
/username/latest
/latest/username
/latest/4.json (usando l’ID utente invece del nome utente)
ecc.

Non riesco proprio a trovarlo :-\

Dovresti specificare il nome utente in Api-Username come nell’esempio del documento sopra.

Ahaaaaa, grazie. Ora capisco.