Я пытаюсь получить расширенные ретвиты, но, похоже, я не могу получить это дополнительное поле с именем retweeted_status в качестве параметра в результате.Я не получаю никаких ошибок при включении параметра с именем «retweeted_status», и я не знаю, существует ли он даже как параметр в Node.js , так как документы API Twitter не содержат примеров или ясной информации.для ретвитов, и я попытался реализовать методы, написанные на других языках программирования, которые я искал в Google , но в конце не получил хороших результатов.( Примечание: tweet_mode работает только для твитов, а не RETweets! )
То, что я пробовал:
retweeted_status: 'extended' //doesn't work but node.js doesn't give an error
retweeted_status: true //doesn't work but node.js doesn't give an error
retweeted_status: 1 //doesn't work but node.js doesn't give an error
Мой код следующий ( Он никогда не входит вif-условие и если оно выполнено, выдает ошибку, которую я упоминаю в коде ):
var params = {q: '@Avengers', count: 100, include_rts: 0, tweet_mode: 'extended', retweeted_status: 'extended'};
client.get('search/tweets', params, function(error, tweets, response) {
if (!error) {
console.log(tweets);
for(var i=0; i < params.count; i++){
if (tweets.retweeted_status){ //It never enters this condition
//even if it does I get this error
//TypeError: Cannot read property 'statuses' of undefined tweets.statuses[i]
tweets = tweets.retweeted_status;
var tweet = (JSON.stringify(tweets.statuses[i].full_text)+"\n");
var string = tweet.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, '');
console.log('hi');
}
else{
var tweet = (JSON.stringify(tweets.statuses[i].full_text)+"\n");
var string = tweet.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, '');
console.log('hi2');
}
fs.appendFile("tweet.txt", string, function (err) {
if (err) throw err;
console.log('Saved!');
});
}
}
});
Я несколько часов заглядывал на этот сайт https://dev.to/kehers/formatting-tweets-a-look-at-extended-tweets-retweets-and-quotes-n5j и пытался сделать несколькокод (который я уже предоставил выше), который не работал, так как оператор IF игнорировался.При получении твита должен быть указан дополнительный параметр «retweeted_status», как показано ниже:
{
"created_at": "Sun Mar 11 12:00:27 +0000 2018",
"id": 972804442667003900,
"full_text": "RT @jasongorman: As a physics grad, I understand how snooker works at a level I imagine a lot of pro snooker players don't. But I suck at s…",
"truncated": false,
"display_text_range": [...],
"entities": {...},
"retweeted_status": { // <======================= I am not getting this extra parameter!
"created_at": "Sun Mar 11 08:10:46 +0000 2018",
"id": 972746641957642200,
"full_text": "As a physics grad, I understand how snooker works at a level I imagine a lot of pro snooker players don't. But I suck at snooker. Understanding != ability.",
"truncated": false,
"display_text_range": [0, 155],
"entities": {
"hashtags": [],
"symbols": [],
"user_mentions": [],
"urls": []
},
}
}