1

nettutplus入門連載でnode.jsを学んでいます。このシリーズでは、Twitter ストリーム API を使用して node.js アプリを作成するためのレッスンがあります。ビデオに示されているコードは、私が書いたコードとまったく同じですが、機能しません。

これが私のコードです

var https = require("https");
var options = {
host: 'stream.twitter.com',
path: '/1/statuses/filter.json?track=bieber',
method: 'GET',
headers: {
    "Authorization": "Basic " + new Buffer("username:password").toString("base64")
}
};

var request = https.request(options, function(response){
var body = '';
response.on("data", function(chunk){
    var tweet = JSON.parse(chunk);
    console.log("Tweet: "+ tweet.text);
});

response.on("end", function(){
    console.log("Disconnected");
});
});

request.end();

エラーはこれです

未定義:1

^

SyntaxError: 予期しないトークン <

at Object.parse (native)
at IncomingMessage.<anonymous> (C:\Users\monk\Desktop\folder\node\twitter.js:14:20)
at IncomingMessage.EventEmitter.emit (events.js:95:17)
at IncomingMessage.<anonymous> (_stream_readable.js:736:14)
at IncomingMessage.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:408:10)
at emitReadable (_stream_readable.js:404:5)
at readableAddChunk (_stream_readable.js:165:9)
at IncomingMessage.Readable.push (_stream_readable.js:127:10)
at HTTPParser.parserOnBody [as onBody] (http.js:141:22)

Windowsとcmdを使用しています。

4

2 に答える 2

1

リクエストからのレスポンスの小さなチャンクを解析しようとしていますが、これは有効な JSON ではない可能性があります。完全な応答は有効な JSON です。

エンドラインで区切られたJSONを絶えずストリーミングしています。そして、あなたはそれらを処理しなければなりません。エンドラインを待ってから、受信したデータを解析する必要があります。ここで実装を参照してください

于 2013-07-19T05:50:22.940 に答える