Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
Publicar en la API de Twitter usando nextjs, publicar tweets mientras no se solicita el sitio web

Estado actual: actualmente estoy usando next.js para crear una aplicación web. Me gustaría que esta aplicación web también publicara en mi cuenta de Twitter. Ya he creado una cuenta de desarrollador en Twitter y una API en nextjs. Llamar a la API activará la solicitud de publicación y creará una publicación en mi cuenta de Twitter ya que toda la autenticación está configurada.

Lo que me gustaría: Me gustaría que mi cuenta publique un tweet cada 24 horas, así que digamos todos los días a las 5 de la mañana (mi hora local). Necesitaría que se publique este tweet, también cuando nadie solicite el sitio web. Desafortunadamente, no he descubierto cómo configurar esto todavía. Cualquier ayuda es apreciada.

Estuve pensando en usar getStaticProps con la función de revalidación de nextjs, pero me di cuenta de que cuando nadie solicita la página web, todavía no funciona. Incluso cuando el código se ejecuta en el lado del servidor.

Así es como se ve actualmente el código en mi API:

 import type { NextApiRequest, NextApiResponse } from 'next' import Twitter from 'twitter' export default async function postTweet(req: NextApiRequest, res: NextApiResponse){ const client = new Twitter({ consumer_key: process.env.TWITTER_CONSUMER_KEY ?? "", consumer_secret: process.env.TWITTER_CONSUMER_SECRET ?? "", access_token_key: process.env.ACCESS_TOKEN_KEY ?? "", access_token_secret: process.env.ACCESS_TOKEN_SECRET ?? "", }); client.post( 'statuses/update', { status: message + `(${currentDate})` }, function (error, tweet, response) { if (error) throw error; // console.log(tweet); // Tweet body. // console.log(response); // Raw response object. } ); }

¡Cualquier idea de cómo podría realizar esto es bienvenida!

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

es muy buena pregunta. Puede lograr esto configurando un CRON JOB . Es una forma de decirle al servidor que ejecute una tarea específica con un intervalo de tiempo o en un momento específico de un día/semana/mes, etc.

Si desea usar GitHub Actions, tiene una función CRON JOB, puede leer más aquí https://vercel.com/docs/concepts/solutions/cron-jobs Puede generar la expresión cron https://crontab.cronhub.io / como p. ej.: para todos los días a las 5 a. m.: 0 5 * * *

 name: tweet-at-morning on: schedule: - cron: '0 5 * * *' jobs: cron: runs-on: ubuntu-latest steps: - name: Call our API route run: | curl --request POST \ --url 'https://yoursite.com/api/cron' \ --header 'Authorization: Bearer ${{ secrets.API_SECRET_KEY }}'

De lo contrario, puede usar una biblioteca de nodos para hacer una cola de trabajos. Encontré Bull.js https://github.com/OptimalBits/bull esta biblioteca como la más fácil y confiable para crear un servidor de trabajo.

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda