Я пытаюсь сохранить в файл только имя пользователя @screen_name и текст твита, который я получаю с помощью API Twitter, и не могу найти какую-либо документацию по этому вопросу на веб-сайте API API Twitter или в документах json.strinigify.Я использую код, который по какой-то причине не работает с GET: (1001 *
var params = {q: '@Avengers, count: 1, include_rts: 1};
client.get('search/tweets', params, function(error, tweets, response) {
if (!error) {
console.log(tweets);
fs.appendFile("tweet.txt", JSON.stringify(tweets.text), function (err) {
//user.name or .text doesn't work in GET and I am trying to find the methods
//that work for GET
if (err) throw err;
console.log('Saved!');
});
}
});
я не могу найти ничего, связанного с решением моей проблемы в Google):, он работает и сохраняет как имя пользователя, который опубликовал твит, так и текст твита (что мне и нужно).Моя проблема здесь в том, что поток не имеет никакого метода для получения твитов с именем пользователя @screen_name, поэтому я приступил к использованию метода GET.Мой код потока для этого приведен ниже:
var stream = client.stream('statuses/filter', {track: 'Avengers'});
stream.on('data', function(event) {
console.log("Tweeted by ::::>>>" + event.user.name + " ::::>>> " + "Tweet is :::>>>> " + event.text + " ::::>>>");
fs.appendFile("tweet.txt", JSON.stringify(event.user.name+' ////////'+event.text)+"\n", function (err) {
if (err) throw err;
console.log('Saved!');
});
});
Мой результат с методом GET - большой беспорядок параметров, которые мне не нужны, когда он сохраняется в файле:
"statuses": [
{
"created_at": "Sun Sep 23 05:03:17 +0000 2018",
"id": 1043727480572522500,
"id_str": "1043727480572522496",
"text": "@Avengers Gamora, Dr Strange and Vision all made comment about dying before given up Stones in 1st 45 minutes. Gett… --------OtAEPXbih4",
"truncated": true,
"entities": {
"hashtags": [],
"symbols": [],
"user_mentions": [
{
"screen_name": "Avengers",
"name": "The Avengers",
"id": 393852070,
"id_str": "393852070",
"indices": [
0,
9
]
}
],
"urls": [
{
"url": "--------OtAEPXbih4",
"expanded_url": "--------i/web/status/1043727480572522496",
"display_url": "twitter.com/i/web/status/1…",
"indices": [
117,
140
]
}
]
},
"metadata": {
"iso_language_code": "en",
"result_type": "recent"
},
"source": "<a href=\"--------#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>",
"in_reply_to_status_id": null,
"in_reply_to_status_id_str": null,
"in_reply_to_user_id": 393852070,
"in_reply_to_user_id_str": "393852070",
"in_reply_to_screen_name": "Avengers",
"user": {
"id": 1558865406,
"id_str": "1558865406",
"name": "john sabo",
"screen_name": "saybow1969",
"location": "",
"description": "",
"url": null,
"entities": {
"description": {
"urls": []
}
},
"protected": false,
"followers_count": 52,
"friends_count": 397,
"listed_count": 5,
"created_at": "Sun Jun 30 20:40:04 +0000 2013",
"favourites_count": 680,
"utc_offset": null,
"time_zone": null,
"geo_enabled": true,
"verified": false,
"statuses_count": 24062,
"lang": "en",
"contributors_enabled": false,
"is_translator": false,
"is_translation_enabled": false,
"profile_background_color": "C0DEED",
"profile_background_image_url": "----://abs.twimg.com/images/themes/theme1/bg.png",
"profile_background_image_url_----": "----://abs.twimg.com/images/themes/theme1/bg.png",
"profile_background_tile": false,
"profile_image_url": "----://pbs.twimg.com/profile_images/825511373396439040/zZf_Z9Hu_normal.jpg",
"profile_image_url_----": "----://pbs.twimg.com/profile_images/825511373396439040/zZf_Z9Hu_normal.jpg",
"profile_banner_url": "----://pbs.twimg.com/profile_banners/1558865406/1486454716",
"profile_link_color": "1DA1F2",
"profile_sidebar_border_color": "C0DEED",
"profile_sidebar_fill_color": "DDEEF6",
"profile_text_color": "333333",
"profile_use_background_image": true,
"has_extended_profile": false,
"default_profile": true,
"default_profile_image": false,
"following": false,
"follow_request_sent": false,
"notifications": false,
"translator_type": "none"
},
"geo": null,
"coordinates": null,
"place": null,
"contributors": null,
"is_quote_status": false,
"retweet_count": 0,
"favorite_count": 0,
"favorited": false,
"retweeted": false,
"lang": "en"
}
],
"search_metadata": {
"completed_in": 0.015,
"max_id": 1043727480572522500,
"max_id_str": "1043727480572522496",
"next_results": "?max_id=1043727480572522495&q=%40Avengers&count=1&include_entities=1",
"query": "%40Avengers",
"refresh_url": "?since_id=1043727480572522496&q=%40Avengers&include_entities=1",
"count": 1,
"since_id": 0,
"since_id_str": "0"
}
}
Мой метод Stream делает это правильно, но мой GET - нет, и вот что дает мне мой поток:
"Trash Flaten ////////@lliejuve @lliejuve on current tv it has to be the voice actor for Thor in Disney's Avengers Assemble. So o respect…
Как вы можете видеть, Stream дает мне имя пользователя @screen_name и текст твитаэто то, что мне нужно, но в методе GET user.name и .text просто не делают этого.