如何将生成的身份验证令牌传递给Twitters API

时间:2019-01-08 18:09:35

标签: node.js express

我正在进行有关Pluralsight的练习,这基本上相当于发送一个带有Twitter用户最近10条推文的查询的get请求并显示数据。

在Twitter开发门户上,我创建了我的应用程序并生成了项目令牌。但是,对于我一生来说,我无法找到如何使用GET请求发送令牌的方法,以便我可以访问API(否则您将无法访问)

我在这里和Google上进行了搜索,只发现了如何生成令牌。一些帮助将不胜感激。

<div id="myDiv" onmouseout="colorBack()">Hi everyone</div>

<script>
function colorBack(){
document.getElementById("myDiv").style.backgroundColor = "red";
}
</script>

编辑

所以不起作用的原因是由于两个单独的问题。一个Twitter API在过去几年中发生了变化,下面的代码示例不再遵循Twitter api标准。相反,我建议使用预先编写的模块,例如此处的模块。 https://github.com/desmondmorris/node-twitter

第二个问题是,当我注册时没有使用真正的回调网站。我在本地进行开发,说实话这并不重要。好吧,事实确实如此。

我结束的代码;

var express = require('express');
var request = require('request');
var url = require('url');


var app = express();

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/views/index.html');
});

app.get('/tweets/:username', function(res, req){
    var username = req.params.username;

    options = {
        protocol: 'http:',
        host: 'api.twitter.com',
        pathname: '/1/statuses/user_timeline.json',
        query: { screen_name: username, count: 10}, 
    }

    var twitterURL = url.format(options);
    request(twitterURL).pipe(response);
});


app.listen(8080);

1 个答案:

答案 0 :(得分:1)

尝试

var express = require('express');
var request = require('request');
var url = require('url');


var app = express();

app.get('/tweets/:username', function(req, res){
    var username = req.params.username;

    options = {
        protocol: 'http:',
        host: 'api.twitter.com',
        pathname: '/1/statuses/user_timeline.json',
        query: { screen_name: username, count: 10}, 
    }

    var twitterURL = url.format(options);
    request(twitterURL).pipe(response=>res.send(response));//send response
});
app.get('/', function(req, res) {
    res.sendFile(__dirname + '/views/index.html');
});



app.listen(8080);