2015-03-17 2 views
1

Я запускаю небольшой поток twitter с npm, который печатает твиты на моей консоли. Я хотел бы записать их на диск, но мой сервер этого не делает. Вот мой файл routes.js:Сервер узла не записывается в файл?

var Twit  = require('twit'), // wrapper on top of twitter api 
    dotenv = require('dotenv'), // used for keys -> get from .env 
    fs  = require('fs'); 

module.exports = function(app) { 
    dotenv.load(); 

var T = new Twit({ 
    consumer_key:   process.env.TWITTER_CONSUMER_KEY, 
    consumer_secret:  process.env.TWITTER_SECRET_KEY, 
    access_token:   process.env.TWITTER_ACCESS_TOKEN, 
    access_token_secret: process.env.TWITTER_ACCESS_KEY 
}); 



var middleEast = ['29.4' , '33.7' , '37.7' , '46.1' ] 
var stream = T.stream('statuses/filter', {track: '#ISIS', language: 'en'}) 
stream.on('tweet', function(tweet) { 

    if (tweet.geo!=null){ 
     console.log(tweet.geo.coordinates) 
    } 

    console.log(tweet.text) 
    fs.appendFile("./ISIStweets.json", tweet.text) 


}) 

Это ничего не пишет для файла. Однако идентичный код в той же папке, как показано ниже, успешно записывается в файл. Что дает?

var fs = require('fs'); 

fs.appendFile("./ISIStweets.json", "Hello there!\n") 
+1

Включает ли консоль содержимое ** tweet.text ** или любую ошибку, если вы ожидаете, что файл будет записан? Также просто примечание стороны, ваш файл имеет расширение .json, но кажется, что вы просто пишете текст! – ttarik

+0

да, я запускаю его прямо сейчас, и вот пример текста твита: «@RT_com: БОЛЬШЕ:« #ISIS сильнее, чем когда-либо »- солдаты иракских солдат http://t.co/015UsesX0f http: // t.co/fn2G6oTbWe " Однако ничего не записывается в файл. Кроме того, я пробовал разные вещи, я намереваюсь писать объекты JSON. – abgordon

+0

Кроме того, я пробовал несколько разных вещей, таких как запись обычного текста в другие форматы файлов, но ничего не работает. – abgordon

ответ

1

Есть несколько вещей, которые могли бы произойти здесь:

войти ли консоль что-нибудь вообще? Возможно, ваш поток твитов фактически ничего не передает.

У вас есть разрешение на запись в файл ISIStweets.json? Если файл уже существует, он может принадлежать кому-то другому, кроме пользователя, на котором запущен узел. Если файл не существует, убедитесь, что у вас есть разрешение на запись в этом каталоге.

Смежные вопросы