TwitterのストリーミングAPIにアクセスする簡単なクロージャーコードを記述しました。私のコードは、本質的にさえずり、APIドキュメントで説明した例のコードと同じです。私は、特定のユーザに関するツイートに従い、認証のためのOAuthを使用していclojure twitter-apiを使用して「java.io.EOFException:JSON error」を取得する
(def ^:dynamic *custom-streaming-callback*
(AsyncStreamingCallback. (comp println #(:text %) json/read-json #(str %2))
(comp println response-return-everything)
exception-print))
(defn start-filtering []
(statuses-filter :params {:follow 12345}
:oauth-creds *creds*
:callbacks *custom-streaming-callback*))
(図示せず)。私が開始フィルタリングの方法を実行し、接続がtwitterで開かれているときは、すべてがうまくいくが、ストリームが少し(30秒程度)非アクティブな場合、つまり、この特定のユーザーについてのつぶやきは、次のエラーが発生します。
ストリーミング接続を使用する場合、twitterはストリームを無期限に開いたままにしておくことをtwitter docsから想定しました。私は間違った仮定をしているに違いない。私は現在、何が起こっているのかを見るためにclojure twitter-apiコードをダイビングしていますが、私はもっと多くの目がこれをより迅速に把握するのに役立つだろうと考えました。
twitter-apiのgithub issue trackerで問題を開くことをお勧めします。著者がSOに入ってこれを見ていない限り、誰にもこれを修正する方法は分からないでしょう。 – Rayne