首页 > 解决方案 > 通过 ID 获取 Tweet 信息并显示在链接的网页上 [Node.js]

问题描述

我正在开发一个 Node.js 项目,该项目获取 5 条带有特定标签的推文,并将它们作为列表显示在网页上(仅显示文本)。一旦它们被加载到页面上,我希望每个都链接到一个单独的页面,该页面显示其其余信息(用户、日期等)。

浏览 Twitter 的 API 文档,我相信我必须使用 GET statuses/show/:id,但我不确定我是否真正正确地实现了这一点。

我正在使用 Node.js、Express.js 和 Pug。

简而言之,我有三个问题;如何提取每条推文的 ID?如何将提取的 ID 插入到我的 Pug 模板中的链接中?如何通过 ID 在链接页面上显示推文的其余信息?

这是我的尝试,但正如我所提到的,我对如何使用 statuses/show/:id 感到困惑

main.js

'使用严格';

const express = require('express'),
    Twitter = require('twitter'),
    request = require('request'),
    app = express(),
    tweets = [];

const T = new Twitter({
    consumer_key: '',
    consumer_secret: '',
    access_token_key: '',
    access_token_secret: ''
});

const params = {
    q: 'cool',
    count: 5
} 

T.get('search/tweets', params, function(err, data, response) {
    for(let i = 0; i < data.statuses.length; i++){ 
        tweets.push(data.statuses[i].text);
    }
});

T.get('statuses/show/:id', function(data, req, res) {
    const statusId = req.params.id;

})

app.set('view engine', 'pug');
app.set('views', './views');

app.use(express.json());
app.use(express.urlencoded({
    extended: true
}));

app.use(express.static('resources'));
app.get('/', function(req, res) {
    res.setHeader("Content-Type", 'text/html');
    res.render('normal', {tweets: tweets});
});

app.listen(3000, function () {
    console.log('Listening on http://localhost:3000');
});

layout.pug 的相关部分

                ul
                    #tweetCSS
                        each tweet in tweets
                            li= tweet //How do I include ID within link here?

标签: javascriptnode.jsexpresspug

解决方案


推荐阅读