首页 > 解决方案 > 使用节点运行 twitter 时出现状态错误 401。可能的授权错误

问题描述

我在使用 npm twitter API 时遇到了连接问题。到目前为止,我一直无法解决这个问题。我在阅读和练习 Semmy Purewal 的书时遇到的问题,在这个例子中,我们想要流式传输包含某些单词的推文。解决这个问题我尝试了各种不同的方法,这些方法要么是在网上找到的,要么是我自己想到的。我将首先从我的终端显示错误代码,然后我将提及我尝试过的内容以及我的设置。请注意,我是一个完全的编程初学者,我从来没有不喜欢尝试解决我可以在网上找到的问题。然而,在没有找到令人满意的解决方案后,我转向 Stack Overflow 询问我的第一个技术相关问题;)。

运行 twitter.js 的错误(问题末尾找到的 JS 文件)

Error: Status Code: 401
    at Request.<anonymous> (/home/vagrant/app/twitterapi/node_modules/twitter/lib/twitter.js:277:28)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at Request.onRequestResponse (/home/vagrant/app/twitterapi/node_modules/request/request.js:1066:10)
    at emitOne (events.js:77:13)
    at ClientRequest.emit (events.js:169:7)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:414:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:88:23)
    at TLSSocket.socketOnData (_http_client.js:304:20)
    at emitOne (events.js:77:13)

我的 js 代码看起来与书中第 197 页中给出的示例完全相同。我了解到,当存在授权问题时,或者在其他未描述的时刻(根据 Twitter API),会引发状态错误 401。

设置差异:

我尝试过的几种方法:

不幸的是,我花了几个小时试图解决这个问题,我很高兴试图找出问题所在,但我将继续不使用这个例子,也没有使用这个例子的后续练习。无论如何,我想看看是否有人能找到解决方案。我很想尝试使用 twitter API

谢谢你!

跟着我的 js 和 json 文件。

var twitter = require("twitter"),
    credentials = require("./credentials.json"),
    client;

var credentialObject = {
"consumer_key": "xx",
"consumer_secret": "xx",
"access_token_key": "xx",
"access_token_secret": "xx"
};

console.log(credentials);

//setting up our twitter object
client = new twitter(credentials);


//setting up our twitter stream with three parameters, seperated by commas
client.stream(
    //the first parameter is a string
    "statuses/filter",

    //second parameter an object containing an array
    {"track": ["Awesome", "cool", "rad", "gnarly", "groovy"]},

    //the third parameter is our callback for when the stream is created
    function(stream){
        stream.on("data", function(tweet){
            console.log(tweet.text);
        });

         stream.on('error', function(error) {
                throw error;
        });
    }
);

credentials.json 文件结构

{
"consumer_key": "xx",
"consumer_secret": "xx",
"access_token_key": "xx-xx",
"access_token_secret": "xx"
}

标签: javascriptnode.jsnpmtwitterauthorization

解决方案


推荐阅读