Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

186
Visualizações
Obtenga más de 100 datos de carga de Stripe API en Node JS

Estoy tratando de obtener todos los datos de carga de la api de banda. De forma predeterminada, Stripe no permite obtener más de 100 datos y tengo miles de datos allí. Hay un campo en la franja llamado has_more , que proporciona información sobre si hay más datos a través de su valor verdadero/falso. Ahora. Estoy tratando de automatizar el proceso en el nodo js para que, en primer lugar, una llamada API para obtener 100 datos, luego verifique si has_more es verdadero. Si es verdadero, tomará la identificación del último objeto en los datos y comenzará a obtener datos después de esa identificación y seguirá haciéndolo hasta que has_more devuelva falso.

He hecho esto hasta ahora, que obtiene solo los primeros 100 datos. ¿Alguien puede dar alguna idea sobre el siguiente proceso?

 async function getData() { const data = await axios.get( `${URL}?created%5Bgte%5D=${created}&created%5Blte%5D=${createdEnd}&limit=${limit}`, { headers: { Authorization: `Bearer ${bearer}`, "Stripe-Account": `${stripe_account}`, }, } ); return data; }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Lo haría:

 async function getData(startingAfter) { let url = `${URL}?created%5Bgte%5D=${created}&created%5Blte%5D=${createdEnd}&limit=${limit}` // if they pass in a startingAfter param, use it if (typeof startingAfter !== 'undefined') { url += `&starting_after=${startingAfter}` } const data = await axios.get(url , { headers: { Authorization: `Bearer ${bearer}`, "Stripe-Account": `${stripe_account}`, }, } ); // if there is more, add the additional items to this list, and // then set hasMore to false (since we fetched them all) if (data.hasMore) { const more = await getData(data[data.length - 1].id); data.data.push(...more.data) data.hasMore = false; } return data; }

Esto obtendrá los primeros 100 elementos, verá que tiene más y luego llamará a getData(100) (bueno, getData('ch_whatever_the_id_is_for_#_100') ), que obtendrá los siguientes 100 elementos, luego llamará a getData(200) , etc. etc. etc., y luego su llamada inicial terminará con la lista completa.

about 4 years ago · Juan Pablo Isaza Relatório

0

Debe instalar la biblioteca oficial de stripe-node y usar la paginación automática incorporada de la biblioteca.

https://stripe.com/docs/api/pagination/auto?lang=node

¿También estás usando axios en la interfaz? No puede hacer eso, ya que eso significaría que está exponiendo su clave API de Stripe secreta en la interfaz, los cargos de lista son una llamada API de backend (por lo que debería poder instalar y usar stripe-node https://github.com /stripe/stripe-node )

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda