Choix de la langue

Concevoir une frontière d’accès dans votre propre backend

Séparez clés, utilisateurs de votre application, statut public et recherche protégée ; validez les entrées et journalisez sans secrets.

Définir ce que chaque vérification démontre

Concevez deux parcours séparés : observer la réponse HTTP publique et récupérer des enregistrements historiques protégés. GET /v1/status ne demande ni clé ni crédits et retourne une déclaration statique. Il ne vérifie ni solde, ni identité, ni recherche, ni couverture ou capacité. N’utilisez pas ce succès pour autoriser des utilisateurs dans votre application ou convertir vos recherches en attente en un indicateur supposé de bonne santé de l’archive.

Reddit Gateway est une archive historique indépendante, sans affiliation à Reddit, données en direct, écriture ou Reddit OAuth. La clé API authentifie votre client auprès de l’archive, pas les utilisateurs finaux de votre produit. Définissez qui peut lancer une recherche, les filtres autorisés et la consommation acceptable. Ces contrôles relèvent de votre backend ; ce ne sont pas des permissions par projet fournies par l’archive.

Conservez la clé dans une configuration protégée du serveur, hors code public, réponses au navigateur et journaux. Pour récupérer des données, utilisez X-API-Key: <clé> ou Authorization: Bearer <clé>. La session Secure HttpOnly du panneau est distincte. Le widget garde les identifiants de facture et d’utilisateur dans localStorage par hostname, pas la clé originale ; cela ne garantit pas une protection contre tous les risques de votre application.

Restreindre les requêtes et valider les résultats

Fixez https://api.redditgateway.com et les chemins acceptés sur le serveur. N’utilisez pas une URL arbitraire du visiteur comme destination d’une requête munie de vos identifiants. Commencez par https://api.redditgateway.com/v1/search?q=database&subreddit=backend&limit=3, en expliquant qu’elle recherche du texte dans backend avec trois enregistrements au maximum, sans contenu pertinent garanti. Consultez la documentation et Obtenir une clé API pour créer le compte avant paiement.

Vérifiez le résultat HTTP avant de traiter le corps comme des données. Analysez ensuite le JSON et validez data comme tableau, avec les champs nécessaires au produit. Distinguez échec de transport, erreur HTTP, réussite vide et rejet par une transformation locale. Les enregistrements sont plats et leurs champs peuvent varier. Si parent_id ou link_id apparaissent, conservez les références sans inventer de contexte ni supposer des conversations complètes.

Utilisez les paramètres admis : q, subreddit, author, kind avec post ou comment, from, to, min_score, limit et page sur les routes de recherche. from et to utilisent YYYY-MM-DD en UTC, filtrent created_utc et incluent entièrement le jour to. min_score filtre sans trier. L’ordre interne _doc n’est ni chronologique ni classé par pertinence ou score ; un tri local ne réorganise que les données reçues.

Limiter travail et nouveaux essais avec des preuves locales

limit et page vont de 1 à 100, avec une page par requête. Lisez total avec relation : eq indique le total exact de la requête, gte une borne inférieure et unknown un total non fiable, éventuellement null. Inconnu n’est pas zéro. Ni total exact, ni périodes divisées, ni déduplication locale ne prouvent un téléchargement complet. Enregistrez réponse et paramètres avant d’avancer votre progression.

HTTP 400 demande de corriger les paramètres, 401 de vérifier les identifiants, 402 de consulter le solde dans le panneau et 429 d’espacer les tentatives. Vous pouvez définir des attentes progressives et un nombre maximal d’essais, sans reprise automatique garantie. L’éligibilité à l’essai est distincte des limites de fréquence. Enregistrez résultats et décisions locales sans secrets pour distinguer une erreur de votre adaptateur d’un échec du service source.

Chaque récupération réussie coûte un crédit, même vide ou répétée. Les requêtes invalides ne débitent pas le solde et les échecs du service source restituent la réservation. Une déconnexion du client peut suivre une réussite facturée ; un nouvel essai réussi coûte un autre crédit. Consultez les tarifs pour budgéter tests et pages. Le remplacement exige connexion et confirmation du mot de passe, invalidant l’ancienne clé : mettez vos clients à jour avant le prochain appel.

Obtenir une clé API