Reddit App API
PT

Reddit App API · 04 / 08

Mostrar mais deve significar uma próxima página deliberada

Use limites, verificação de continuidade e campos de relação sem prometer classificação, instantânea estável ou exportação completa.

Mantenha pequena a próxima ação

Suponha que o aplicativo ilustrativo solicite offline maps em hiking com limit=3 e page=1. O leitor abre as referências retornadas e decide se outro grupo ajudaria. Mostrar mais deve pedir a página seguinte da mesma pergunta. Não deve iniciar silenciosamente a leitura de todas as páginas nem trocar a consulta mantendo resultados antigos na tela.

O sinal visual é um controle Mostrar mais quando a resposta permite outra página. Desative ativações repetidas enquanto a ação estiver pendente e preserve o acesso às referências já mostradas. Cada página recuperada com sucesso consome um crédito, mesmo vazia. Parar antes de solicitar a próxima evita essa solicitação futura; sair da tela não garante cancelar ou devolver o crédito de uma solicitação já enviada.

Mantenha o estado da solicitação unido

Mantenha q, subreddit, os demais filtros e limit sem mudanças ao incrementar page. Se a pessoa mudar a expressão ou intervalo de datas, comece outra sequência na página 1. Misturar uma segunda página de outra pergunta na lista anterior torna o histórico enganoso, mesmo com ambas as solicitações bem-sucedidas.

O arquivo usa a ordem _doc. Não é cronológica, por relevância ou pontuação; min_score filtra em vez de ordenar. É possível reorganizar os registros já obtidos para apresentação, mas isso não identifica os mais recentes ou melhores em todo o arquivo. Não há garantia de instantânea estável entre solicitações repetidas de páginas.

Use a resposta, não um ciclo até encontrar vazio

pagination.has_more se baseia num registro adicional de verificação quando a janela permite. Ofereça a próxima ação apenas se has_more for true e a página estiver abaixo de 100. Não continue até achar uma página vazia: o serviço já informa continuidade, e novas solicitações bem-sucedidas custam créditos.

Leia pagination.total junto com pagination.relation. eq significa contagem exata segundo aquela resposta; gte é um limite inferior, não uma estimativa estatística; unknown não fornece total confiável e pode acompanhar null. Numa primeira resposta hipotética com três registros visíveis, total 4 e relation gte, o texto pode indicar ao menos quatro correspondências. Não pode afirmar exatamente quatro.

Reconheça a janela limitada

Os limites são 100 registros por solicitação e 100 páginas. Na página 100 com limit 100, uma última página cheia não deixa espaço para a verificação adicional. Portanto pagination.window_exhausted pode ser true enquanto has_more é false e relation é gte. Nesse limite, has_more false não prova que o arquivo não tem mais correspondências.

Uma página vazia depois da primeira também não estabelece um total global; o gateway informa total desconhecido nesse caso. Explique o limite real, por exemplo Janela desta busca atingida, em vez de Todas as conversas carregadas. Restringir uma consulta organiza trabalho adicional, mas não transforma solicitações limitadas em exportação exaustiva.

Combine com cuidado e preserve a recuperação

Quando há identificador real no registro, o aplicativo pode usá-lo para evitar duplicação na lista acumulada. Escolha regras de identidade com base nos campos efetivamente recebidos; não invente um ID ausente nem una registros distintos só porque o texto é parecido. Deduplicação local não prova que a lista restante está completa.

Uma falha na próxima página deve manter registros anteriores e consulta, com escolha explícita de tentar novamente. Separe o número da página pendente até conhecer o resultado e trate respostas fora de ordem na lógica do aplicativo. A API não oferece endpoint de cursor nem gerencia esse estado da interface. Volte a /pt/#field-notes para estados de carregamento e orçamento.