2015-09-08 63 views
5

我想使用Twitter API(https://www.npmjs.com/package/twitter)這裏是認爲我想補充:如何使用node.js在express.js上使用twitter api顯示最後20條推文?

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

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); 
    } 
}); 

回答

14

我會盡量保持它簡短,在這裏我們去:

安裝express-generator模塊第一:npm install -g express-generator

運行express --hbs(你可以選擇翡翠或其他任何東西,但我更喜歡把手,所以我也有繼續)

轉到文件夾,並安裝依賴:npm install

安裝twitter模塊: npm install --save twitter

轉到Twitter的Application Management Page並創建您的應用。獲取必要的密鑰: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; 

而這裏的/視圖/索引。 HBS文件:

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

當您保存所有這些,運行npm start,你可以在http://localhost:3000

看到的結果210
+0

感謝它的工作 –

+1

然後,請將它標記爲已接受的答案;) –

+0

如何更改twitter句柄我正在使用ajax get var twitterhandle = $('#twitterUsername')。val(); $就({ 類型: 'GET', 數據:{ 文本:twitterhandle }, URL: '/狀態/ user_timeline', });請分享我想添加的內容/routes/index.js –

相關問題