How to show last 20 tweets with twitter api on express.js with node.js? How to show last 20 tweets with twitter api on express.js with node.js? express express

How to show last 20 tweets with twitter api on express.js with node.js?


I'll try to keep it short, here we go:

Install express-generator module first: npm install -g express-generator

Run express --hbs (you can choose Jade or anything else, but I prefer Handlebars, so I'll continue with that)

Go to the folder and install dependencies: npm install

Install twitter module: npm install --save twitter

Go to Twitter's Application Management Page and create your app. Get the necessary keys: consumer_key, consumer_secret, access_token_key, and access_token_secret.

After this point, I'd like to share the actual codes instead of explaining what to do

Here's /routes/index.js file:

var express = require('express');var Twitter = require('twitter');var router = express.Router(); var client = new Twitter({  consumer_key: 'XXX',  consumer_secret: 'XXX',  access_token_key: 'XXX',  access_token_secret: 'XXX'});router.get('/', function(req, res, next) {  // https://dev.twitter.com/rest/reference/get/statuses/user_timeline  client.get('statuses/user_timeline', { screen_name: 'nodejs', count: 20 }, function(error, tweets, response) {    if (!error) {      res.status(200).render('index', { title: 'Express', tweets: tweets });    }    else {      res.status(500).json({ error: error });    }  });});module.exports = router;

And here's /views/index.hbs file:

<ul>  {{#each tweets }}  <li>{{ this.text }}</li>  {{/each }}</ul>

When you save them all and run npm start, you can see the results at http://localhost:3000