【发布时间】:2017-07-04 02:13:20
【问题描述】:
我使用以下代码,它有时有效但不稳定,当我运行程序时,有时会收到错误 420 和 json 解析错误,它没有给你很多提示如何解决它。知道我在做什么错吗?
错误是:
获取推文时出错:错误:状态代码:420 获取推文时出错: SyntaxError:JSON 中位置 0 处的意外标记 E
var Twitter=require('twitter');
var lclconf = require('../config.json');
var client=new Twitter({
consumer_key: lclconf.twitter.consumer_key,
consumer_secret: lclconf.twitter.consumer_secret,
access_token_key: lclconf.twitter.access_token_key,
access_token_secret: lclconf.twitter.access_token_secret
});
stream.on("data", function(data){
console.log(data.id_str);
var tweet_id="https://api.twitter.com/1.1/statuses/oembed.json?id="+data.id_str;
request.get(tweet_id)
.end(function(err,res){
if(err){
console.log("Error from Twitter API: " + err);
}else{
//console.log(res.body);
io.emit('tweet',res.body);
}
});
});
stream.on('error', function(err){
console.log("Error getting tweets: "+err);
});
io.on('connection', function(client){
client.on("join", function(data){
console.log(data);
});
client.emit("join",{"message":"running"});
});
也许如果有一种方法可以在发生错误时忽略它并继续,因为现在该过程已停止。
更新:
在 twitter 文档中有关于 HTTP 420 的信息,但不知道如何修复它...
【问题讨论】:
标签: javascript node.js express twitter twitter-oauth