Prima richiesta
Invia la richiesta dal tuo server e mantieni privata la chiave API.
: "${REDDITAPP_API_KEY:?Set REDDITAPP_API_KEY on your server}"
curl --get --fail-with-body 'https://api.redditapp.com/v1/search' \
-H "Authorization: Bearer ${REDDITAPP_API_KEY}" \
--data-urlencode 'q=offline maps' \
--data-urlencode 'subreddit=hiking' \
--data-urlencode 'limit=3'Riferimento API
↔ Scorri la tabella in orizzontale
Percorsi API
| Metodo | Percorso | Parametri |
|---|---|---|
GET | /v1/search | q, subreddit, author, kind, from, to, min_score, limit, page |
GET | /v1/posts | q, subreddit, author, kind, from, to, min_score, limit, page |
GET | /v1/comments | q, subreddit, author, kind, from, to, min_score, limit, page |
GET | /v1/item | id |
GET | /v1/subreddits | prefix, limit |
GET | /v1/status | — |
Altre note
GET | /v1/search · /v1/posts · /v1/comments · /v1/item · /v1/subreddits · /v1/status |
|---|---|
q · subreddit · author · kind | kind: post | comment |
from · to | YYYY-MM-DD |
min_score | score ≥ min_score |
limit · page | 1…100 · 1…100 |
/v1/item | id |
/v1/subreddits | prefix · limit |
_doc | ≠ date · ≠ relevance · ≠ score |
pagination.relation | eq · gte · unknown |
pagination | has_more · window_exhausted · truncated |
1 credit | $0.001 |
$1 | 1000 credits |
$50 | 50000 credits |
400 · 401 · 402 · 429 · 502 | HTTP |
Mettere il backend tra app e archivio
Nella funzione escursionistica illustrativa, il client web o mobile invia la frase offline maps al tuo backend. Questo valida la richiesta, applica i limiti dell’app e chiama l’archivio con una chiave del servizio salvata. Restituisci solo i campi necessari alla schermata di lettura. L’esempio è un punto di partenza progettuale, non la prova che questo tenant abbia ricevuto record sull’escursionismo.
Usa GET https://api.redditapp.com/v1/search?q=offline%20maps&subreddit=hiking&limit=3&page=1. Invia dal backend l’header X-API-Key: YOUR_SAVED_KEY oppure Authorization: Bearer YOUR_SAVED_KEY. Evita credenziali in URL, bundle del client e log pubblici. Il cookie di sessione della pagina account non sostituisce l’autenticazione per il recupero.
Scegliere filtri realmente accettati dal servizio
La ricerca accetta q, subreddit, author, kind, from, to, min_score, limit e page. q applica una corrispondenza AND nei campi title e text; non promette una ricerca per frase esatta o semantica. kind accetta post o comment. Subreddit e autore sono filtri sul valore esatto del campo. min_score filtra i record, non li ordina.
Usa from e to come date YYYY-MM-DD in UTC. La data to include l’intera giornata UTC. Per esempio, from=2025-01-01 e to=2025-12-31 definiscono un intervallo senza richiedere un ordinamento per data. Non inviare stringhe datetime ISO, query DSL arbitrarie, un parametro sort o filtri parent_id/link_id. I parametri non supportati vengono rifiutati.
Scegliere l’endpoint in base al compito
GET /v1/posts e GET /v1/comments limitano il tipo di record e accettano i filtri di ricerca; non richiedono un id. GET /v1/item?id=RECORD_ID cerca un record disponibile tramite il suo id. GET /v1/subreddits?prefix=hik&limit=3 restituisce un’aggregazione limitata di subreddit; i relativi conteggi non garantiscono esattezza globale.
GET /v1/status è pubblico e gratuito. Restituisce una dichiarazione statica sull’archivio storico e mostra che il gestore HTTP risponde. Non interroga il backend di ricerca, non dimostra la copertura dei contenuti e non misura lo stato dell’archivio. Nessuno di questi endpoint offre pubblicazione, voti, messaggi, segnalibri dell’account o un albero completo della conversazione.
Leggere i campi di paginazione prima di aggiungere Mostra altro
Le risposte di recupero contengono data, pagination e credits. I record in data sono oggetti sorgente piatti provenienti dal sistema a monte; titolo, autore, data o permalink scelti possono mancare. L’archivio usa l’ordine _doc, non quello cronologico, di rilevanza o punteggio. Un ordinamento locale può riorganizzare il sottoinsieme caricato, ma non renderlo il sottoinsieme globalmente più recente o meglio classificato.
Mantieni invariati filtri e limit quando incrementi pagination.page. pagination.has_more usa un record aggiuntivo di controllo quando disponibile. Se è false, non offrire una richiesta successiva automatica. pagination.window_exhausted identifica il caso limite della pagina finale; raggiungerlo non dimostra che tutto il materiale pertinente nell’archivio sia stato recuperato.
I limiti sono 1–100 record e pagine 1–100. Leggi pagination.total insieme a pagination.relation: eq è esatto secondo la semantica di conteggio della risposta, gte è un limite inferiore e unknown non fornisce un totale affidabile, che può essere null. Una pagina vuota oltre la prima non dimostra un totale. Una pagina 100 piena con limit 100 non lascia spazio a un record aggiuntivo di controllo e indica un limite inferiore; has_more è false al limite delle pagine. Nell’aggregazione dei subreddit il totale è sconosciuto e pagination.truncated segnala gruppi di aggregazione omessi.
Gestire esplicitamente addebiti e problemi
Un recupero riuscito costa un credito, anche con un array data vuoto. Valida l’input prima dell’invio e non scaricare pagine solo per animare un indicatore di caricamento. HTTP 400 indica input non valido; 401 una chiave del servizio assente o non valida; 402 crediti insufficienti; 429 un limite di frequenza. Queste richieste rifiutate non riservano un credito di recupero.
Una richiesta a monte fallita viene segnalata con HTTP 502 e libera il credito riservato, oppure segnala una riconciliazione del rimborso ancora in sospeso. Una risposta persa al confine dell’app lascia l’esito incerto; non presumere che la richiesta sia stata gratuita. Conserva lo stato della query, rispetta Retry-After e, quando opportuno, lascia scegliere se riprovare. Credenziali e saldo competono al gestore, non all’escursionista.
Tradurre la risposta in una schermata di lettura corretta
Esegui l’escape del testo dei record prima di mostrarlo. Conserva l’identità della fonte e il link, quando disponibile, segnala le date mancanti come sconosciute e distingui l’ora di creazione del record da quella del recupero nell’app. Gli identificatori padre e di collegamento possono aiutare a raggruppare localmente i record presenti, ma non forniscono gli antenati mancanti.
Stati dell’interfaccia sviluppa i messaggi proposti per caricamento, vuoto ed errori. Le Note pratiche nella Guida all’app trattano schede, riferimenti salvati localmente e budget delle richieste. Chiave e crediti contiene configurazione dell’account e prezzi. Rivedi e verifica la tua implementazione: questi esempi non dimostrano una funzione attiva né consigli aggiornati sui sentieri.