Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

150
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!