Errore URL Discourse_api non trovato

Ciao a tutti,

Sto cercando di utilizzare il gem discourse_api:

client = DiscourseApi::Client.new("https://<mysite>.com")
client.api_key = "<my global key>"
client.api_username = "system"

…come configurazione di base, poi

client.latest_topics

restituisce correttamente i dati, ma…

client.get_dashboard_stats

restituisce un errore URL “not_found”. Presumo che qualcosa vada storto quando una rotta richiede una chiave, dato che client.latest_topics funziona.

Ho ricontrollato che la chiave sia corretta, ne ho persino creata una nuova e l’ho provata. L’opzione di accesso globale è selezionata anche per questa. L’URL è corretto. C’è qualcos’altro che dovrei controllare? :slight_smile:

Ciao!

2 Mi Piace

È molto probabile che si tratti di un problema di autenticazione tramite chiave API.

Se apri una nuova finestra di navigazione in incognito nel browser, non essendo loggato nel tuo sito, e navighi verso quel percorso https://yoursite/admin/dashboard.json, otterrai:

{"errors":["L'URL o la risorsa richiesta non è stata trovata."],"error_type":"not_found"}

Ma se sei loggato nel tuo sito e navighi allo stesso URL, dovresti vedere il risultato JSON.

Un’altra cosa da verificare è se la chiave API è impostata per “tutti gli utenti” o per “un singolo utente”. Se è impostata per un singolo utente, assicurati che corrisponda all’utente per cui stai effettuando la richiesta API.

Detto questo, sembra che i due endpoint della dashboard nell’API gem necessitino di un aggiornamento. get_dashboard_stats funziona ancora, ma non restituisce tante informazioni come prima, e sembra che get_dashboard_stats_totals richieda un aggiornamento.

4 Mi Piace

Concordo che sia probabilmente legato alle chiavi, ma ho provato con le impostazioni “Tutti gli utenti” e “Singolo utente” (usando un nome utente amministratore) e ricevo comunque l’errore “non trovato” che hai segnalato.

La chiave è corretta, l’URL è corretto e ho provato tutte le diverse impostazioni, nonché altri endpoint elencati negli esempi dell’API. Tutti restituiscono “L’URL o la risorsa richiesta non è stato trovato”. Non mi viene in mente altro da fare :smiley: :sweat_smile. Immagino che gli ambiti utente non si applichino qui per le chiavi globali?

1 Mi Piace

Puoi eseguire questo comando

gem list discourse_api

per vedere quale versione del gem discourse_api stai utilizzando?

3 Mi Piace

0.10.0 - quindi è probabilmente questo il motivo: sta tentando di utilizzare i parametri dell’URL invece delle intestazioni HTTP :slight_smile: Grazie!

3 Mi Piace

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