2016-12-14 19 views
0

すべての場合(場所、言語、トラック)に使用されるかどうかにかかわらず、異なるフィルタを含むツイートを抽出するアプリケーションを構築しています。私はFilterQueryといくつかのTwitterStreamingListenerを採用しています。 基本的には、すべてのリスナーの要件を含むクエリを作成し、次にTwitterのストリームからツイートを収集します。Twitter4j FilterQuery場所が指定されていないときにNullPointerExceptionが発生する

twitterStream.filter(query); 

リスナーのいずれもロケーション要件を含まない場合を除いて、正常に動作します。

Exception in thread "Twitter Stream consumer-18[Establishing connection]" java.lang.NullPointerException 
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.FilterQuery.toLocationsString(FilterQuery.java:200) 
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.FilterQuery.asHttpParameterArray(FilterQuery.java:182) 
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.TwitterStreamImpl.getFilterStream(TwitterStreamImpl.java:306) 
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.TwitterStreamImpl$7.getStream(TwitterStreamImpl.java:287) 
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.TwitterStreamImpl$TwitterStreamConsumer.run(TwitterStreamImpl.java:488) 

私は常に位置情報を含める必要があります。その後、場所フィールドを使用し、ヌルのままされていません:他のフィールドがnull残るが、この場合には、私はこのエラーを取得するとき

FilterQuery{count=0, follow=null, track=[party,night,house], locations=[null], language=[en]} 

何ら問題はありません私のFilterQueryで?または、場所が必要でないことを意味する他の式(nullの代わりに)がありますか?

答えて

0

このクエリの正しい構文は次のようになります。

FilterQuery{count=0, follow=null, track=[party,night,house], locations=null, language=[en]} 

そして、それはquery.locations()メソッドへのコールがないときに形成されるクエリです。しかし、私のコードはこのメソッドを呼び出して空の場所のリストを送信していました。その結果、APIによって受け入れられなかった別のクエリが発生しました。

関連する問題