記事一覧はこちら

Twitter4jを書き換えて公式クライアント用の検索apiを使う方法

もちろん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