简体   繁体   English

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

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

I want use Twitter API ( https://www.npmjs.com/package/twitter ) and here are the thinks I'd like to add: 我想使用Twitter API( https://www.npmjs.com/package/twitter ),以下是我想添加的想法:

app.js & package.json app.js和package.json

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

http.createServer(app).listen(3000);

twitter_data.js 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);
  }
});

I'll try to keep it short, here we go: 我会尽量保持简短,我们走了:

Install express-generator module first: npm install -g express-generator 首先安装express-generator模块: 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) 运行express --hbs (你可以选择Jade或其他任何东西,但我更喜欢Handlebars,所以我会继续这样做)

Go to the folder and install dependencies: npm install 转到该文件夹​​并安装依赖项: npm install

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

Go to Twitter's Application Management Page and create your app. 转到Twitter的应用程序管理页面并创建您的应用程序。 Get the necessary keys: consumer_key, consumer_secret, access_token_key, and access_token_secret. 获取必要的密钥:consumer_key,consumer_secret,access_token_key和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: 这是/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;

And here's /views/index.hbs file: 这是/views/index.hbs文件:

<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 当你全部保存并运行npm start ,你可以在http:// localhost:3000上看到结果

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM