Я использую следующий код, который работает иногда, но его неустойчивый, когда я запускаю программу, иногда я получал ошибку 420 с ошибкой json parse, которая не дает вам много подсказок, как ее решить. любая идея, что я делаю неправильно?
Ошибка:
Ошибка получения твитов: Ошибка: Код состояния: 420 Ошибка при получении твитов: SyntaxError: Неожиданный токен E в JSON в позиции 0
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"});
});
Возможно, если есть способ, что при возникновении ошибки игнорировать его и продолжать с этого момента, процесс прекращается.
Update:
В twitter docs есть информация об HTTP 420, но не уверен, как ее исправить...