Выбор языка

Проверьте заголовок ключа перед настройкой повторов

Проверьте оба заголовка ключа на небольшой выборке комментариев. Различайте ошибки HTTP, оплату успешных запросов и ограничения исторического архива.

Получить API-ключ

Пример запроса

cURL

curl --fail-with-body -H "X-API-Key: YOUR_API_KEY" "https://api.redditapiproxy.com/v1/comments?subreddit=devops&limit=3"

Исторический архив со своей аутентификацией

Reddit API Proxy предоставляет чтение независимого исторического архива Reddit. Это не официальный сервис Reddit, он не связан с платформой и не является прозрачным прокси произвольных запросов. Сервис не обходит ограничения, не переносит сессии Reddit OAuth и не предоставляет живые ленты, публикацию, голосование или личные сообщения. Знакомое название заголовка не делает существующий клиент Reddit совместимым с контрактом архива.

Защищённое получение поддерживает X-API-Key: <ключ> и Authorization: Bearer <ключ> как альтернативы. В обоих случаях передаётся ключ redditapiproxy.com; Bearer не означает возможность использовать токен Reddit OAuth. Храните секрет в защищённой конфигурации сервера, исключайте его из открытого кода, URL и журналов. Сессионная cookie Secure HttpOnly панели счёта обслуживает отдельную аутентификацию и не заменяет заголовок получения данных.

Проверьте хост, GET-маршрут, разрешённые параметры и выбранный заголовок своего клиента до добавления повторов. Отсутствующий или недействительный ключ вызывает 401; изменение размера страницы его не исправляет. Пустой массив data в успешном ответе отличается от отклонённых учётных данных. Ни правильный ключ, ни успешный запрос не подтверждают полного охвата, фиксированных дат покрытия, неизменности результатов или постоянного доступа к конкретной записи.

Сравните два заголовка на ограниченном запросе

Пример: GET https://api.redditapiproxy.com/v1/comments?subreddit=devops&limit=3. subreddit=devops ограничивает сообщество, limit=3 запрашивает не более трёх комментариев. Это не обещание трёх совпадений или полного обсуждения. Вариант с заглушкой: curl --request GET --header "X-API-Key: YOUR_API_KEY" "https://api.redditapiproxy.com/v1/comments?subreddit=devops&limit=3". Настоящий ключ подставляйте только в своей защищённой серверной среде.

Другой вариант: curl --request GET --header "Authorization: Bearer YOUR_API_KEY" "https://api.redditapiproxy.com/v1/comments?subreddit=devops&limit=3". Это отдельные примеры, а не требование отправлять оба заголовка одновременно. Если выполнить оба запроса и оба завершатся успешно, они потратят два кредита. Совпадение аргументов не гарантирует одинаковые записи и порядок между обращениями; проверяйте форму аутентификации отдельно от содержимого выборки.

Синтетический фрагмент ответа, только для демонстрации: {"data":[],"pagination":{"page":1,"limit":3,"total":0,"relation":"eq"},"credits":{"cost":1,"balance":99}}. Реальный запрос не выполнялся, баланс вымышленный. Сохраните полученный ответ до проверки data и преобразования полей. Успешная пустая выборка стоит один кредит; отсутствие записей devops не доказывает, что исторических материалов этого сообщества нет за пределами выборки.

Разделяйте ошибку, ответ и списание

HTTP 400 означает неправильные параметры, 401 — отсутствующий или недействительный ключ, 402 — нехватку кредитов, 429 — ограничение частоты. До повтора устраните причину. Некорректные запросы не списываются; сбой источника возвращает резерв. Тайм-аут или потеря соединения может произойти после оплаченного успеха, новый успешный запрос стоит ещё один кредит. Сбой собственного преобразования или хранения не возвращает плату за удалённый успех.

Архивные данные хранятся в формате плоских записей, а не в виде иерархических деревьев обсуждений. Если в ответе присутствуют идентификаторы родительских сообщений, вы можете сгруппировать их локально, однако полнота древовидной структуры не гарантируется. Порядок возврата документов не является ни хронологическим, ни релевантным. Выдача следует внутреннему порядку _doc, без сортировки по оценке; min_score задаёт только числовой порог. В запросе содержимого доступно до 100 записей, page принимает от 1 до 100 в отдельных обращениях. Обход и локальное удаление дублей не доказывают полноту или уникальность.

Регистрация использует электронную почту и пароль длиной 12–72 байта UTF-8; ключ показывается один раз сразу, до оплаты. Условные 100 пробных кредитов зависят от общесетевой защиты от злоупотреблений. Успех стоит один кредит: $1 за 1000 запросов, минимум $50 за 50000 платных кредитов. Купленные кредиты не истекают, подписок нет. До оплаты изучите документацию, цены, страницу ключа и руководство; бесплатный /v1/status подтверждает лишь HTTP-ответ со статическим описанием.