如何使用node.js在express.js上使用twitter api显示最近20条推文?

kka*_*k s 5 javascript api twitter express

我想使用Twitter API(https://www.npmjs.com/package/twitter),以下是我想添加的想法:

app.js和package.json

var express = require("express"),
path        = require("path"),
http        = require("http"),
twitter     = require("twitter"),
app         = express();

http.createServer(app).listen(3000);
Run Code Online (Sandbox Code Playgroud)

twitter_data.js

var Twitter = require('twitter');
var client = new Twitter({
  consumer_key: '',
  consumer_secret: '',
  access_token_key: '',
  access_token_secret: ''
});

var params = {screen_name: 'nodejs'};

client.get('statuses/user_timeline', params, function(error, tweets, response){
  if (!error) {
    console.log(tweets);
  }
});
Run Code Online (Sandbox Code Playgroud)

Gök*_*can 15

我会尽量保持简短,我们走了:

首先安装express-generator模块:npm install -g express-generator

express --hbs(你可以选择Jade或其他任何东西,但我更喜欢Handlebars,所以我会继续)

转到该文件夹​​并安装依赖项: npm install

安装twitter模块:npm install --save twitter

转到Twitter的应用程序管理页面并创建您的应用程序.获取必要的密钥:consumer_key,consumer_secret,access_token_key和access_token_secret.

在此之后,我想分享实际的代码,而不是解释做什么

这是/routes/index.js文件:

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;
Run Code Online (Sandbox Code Playgroud)

这是/views/index.hbs文件:

<ul>
  {{#each tweets }}
  <li>{{ this.text }}</li>
  {{/each }}
</ul>
Run Code Online (Sandbox Code Playgroud)

当您全部保存并运行时npm start,您可以在http:// localhost:3000上看到结果