もちろんapiトークンはそれ用のが必要。その上でTwitter4jの一部ファイルを書き換える。twitter4j.TwitterImpl.search(Query)メソッドと似たような感じで twitter4j.TwitterImpl.searchUniversal(Query)を追加する
public interface SearchResource { /** * Returns tweets that match a specified query. * <br>This method calls http://search.twitter.com/search.json * * @param query - the search condition * @return the result * @throws TwitterException when Twitter service or network is unavailable * @see <a href="https://dev.twitter.com/docs/api/1.1/get/search">GET search | Twitter Developers</a> * @see <a href="http://search.twitter.com/operators">Twitter API / Search Operators</a> * @since Twitter4J 1.1.7 */ QueryResult search(Query query) throws TwitterException; QueryResult searchUniversal(Query query) throws TwitterException; }
/* Search Resources */ @Override public QueryResult search(Query query) throws TwitterException { if (query.nextPage() != null) { return factory.createQueryResult(get(conf.getRestBaseURL() + "search/tweets.json" + query.nextPage()), query); } else { return factory.createQueryResult(get(conf.getRestBaseURL() + "search/tweets.json", query.asHttpParameterArray()), query); } } @Override public QueryResult searchUniversal(Query query) throws TwitterException { if (query.nextPage() != null) { return factory.createQueryResult(get(conf.getRestBaseURL() + "search/universal.json" + query.nextPage()), query); } else { return factory.createQueryResult(get(conf.getRestBaseURL() + "search/universal.json", query.asHttpParameterArray()), query); } } /* Direct Messages Resources */
GitHub - Twitter4J開発手順メモ(私家版の作り方) - Qiitaを参考にビルドをする mvn clean install -Dmaven.test.skip=trueとすると。確かにテストでエラー出まくったなあ
2016/01/17 11:15時点の4.0.5-SNAPSHOTと、4.0.4のjar一覧を置いておく。 オリジナル:yusuke/twitter4j 4.0.5-SNAPSHOT MD5: B7A49EF1ED800D64C9675E61917DABDB 4.0.4 MD5: 748B927000A2FC6DA5B09E1F0F153217
2016/11/13時点の4.0.5版をそのままコンパイル&上記の検索api改造してコンパイルしたファイルをアップ。
オリジナル MD5:AB6E1F31AB05B38B791ABF2E381675D3
改造版 MD5:E47F25ECB892B7CC03EE19BE63655CBA