2

単一のTwitterアカウントからツイートをストリーミングする必要がありますが、何が間違っているのかわかりません。'track'を使用すると、ストリームは正常に機能します(トレンドトピックのストリーミング)。しかし、「follow」を使用すると、コードが壊れます。

ntwitterモジュールを使用しています。

これはコードです:

var twitter = require('ntwitter');

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


twit.stream('statuses/filter', { follow:'@tbottt' }, function(stream) {
    stream.on('data',function(data){
      console.log(data);
    });
});

このエラーが発生します

Error: Uncaught, unspecified 'error' event.
    at EventEmitter.emit (events.js:68:15)
    at ClientRequest.Twitter.stream (F:\Dropbox\work\socketio\node_modules\ntwitter\lib\twitter.js:251:14)
    at ClientRequest.EventEmitter.emit (events.js:88:17)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1455:7)
    at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:111:23)
    at CleartextStream.socketOnData [as ondata] (http.js:1366:20)
    at CleartextStream.CryptoStream._push (tls.js:492:27)
    at SecurePair.cycle (tls.js:846:20)
    at EncryptedStream.CryptoStream.write (tls.js:227:13)
    at Socket.ondata (stream.js:38:26)
4

2 に答える 2

5

少し遅れて知っていますが、同じ問題を自分で抱えた後、この質問を見つけました。

リクエストには、スクリーン名ではなく、TwitterユーザーのIDを使用する必要があることがわかりました。follow

クイックツイッターユーザー名->ID検索を提供すると主張するいくつかのウェブサイトがありますが、それらのどれも私のために働きませんでした。代わりに、ユーザーからのツイートを含むページでソースコードを表示して検索するとdata-user-id、HTML要素の属性としてリストされていることがわかりました(通常、これの2番目または3番目のオカレンスにはIDが含まれています)。

これが誰かを助けることを願っています。

于 2013-06-21T17:19:04.120 に答える
0

userNameではなくuserIDを使用する必要があります。私はかなり長い間同じ間違いをしていましたが、それは完全には機能しません。

サンプルコード=>

var   Twit = require('twit');

var T = new Twit({
  consumer_key:         config.key.consumer_key,
  consumer_secret:      config.key.consumer_secret,
  access_token:         config.key.access_token,
  access_token_secret:  config.key.access_token_secret
});

var stream = T.stream('statuses/filter', { follow: 4708084272 })
stream.on('tweet', function (tweet) {
  console.log(tweet)
})
于 2017-08-14T10:29:27.377 に答える