2

This is apparently a bug in the twitter module as noted by this answer: https://stackoverflow.com/a/30264645

Despite this being a known issue, I have have been Googling for hours to no avail. Does anyone know of a work around? My issue results from JSON.parse being called on non-JSON data within the twitter module.

Here is the full trace:

events.js:85
  throw er; // Unhandled 'error' event
        ^
SyntaxError: Unexpected token U
at Object.parse (native)
at EventEmitter.receive (c:\Users\Cole\Development\NodeJS\example\node_modules\twitter\lib\parser.js:41:21)
at IncomingMessage.<anonymous> (c:\Users\Cole\Development\NodeJS\example\node_modules\twitter\lib\twitter.js:207:14)
at IncomingMessage.emit (events.js:129:20)
at readableAddChunk (_stream_readable.js:163:16)
at IncomingMessage.Readable.push (_stream_readable.js:126:10)
at HTTPParser.parserOnBody (_http_common.js:132:22)
at TLSSocket.socketOnData (_http_client.js:317:20)
at TLSSocket.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:163:16)

Inserting console.log(json) into parser.js just before JSON.parse() (the second call of the trace stack) results in printing the json to be parsed.

This is what I get:

Unknown URL. See Twitter Streaming API documentation at http://dev.twitter.com/pages/streaming_api

Clearly not JSON and explains the error. But why am I getting this?

My node code (twitter.js):

var twit     = require('twitter');
var twitter  = new twit({
    consumer_key: '',
    consumer_secret: '',
    access_token_key: '',
    access_token_secret: ''
});

twitter.stream('filter', {track: 'filter-term'}, function(stream){ 
    console.log('help!');
});

Both node twitter.js and node twitter produce the above error. What could be causing this "Unknown URL..." string to be where my JSON should be?

1 Answer 1

4

Figured it out.

twitter.stream('filter', {track: 'filter-term'}, function(stream){ ... });

should be

twitter.stream('statuses/filter', {track: 'filter-term'}, function(stream){ ... });

Least helpful error message ever...

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.