Skip to content

How to develop

TAKEUCHI Hiroaki edited this page Jun 28, 2022 · 11 revisions

開発方法

@takke が twitter4j-v2 を開発する際の作業メモ。

開発環境(Android Studio)

  • IntelliJ IDEA 2021.2 で開発する => (2021.11.11) なぜか Kotlin not configured になるので Android Studio を使う
  • 新しい API を実装する
  • その API を呼び出す Kotlin の example やテストを実装し、実行して動作確認する
    • IDEA でファイル名の右クリックメニューから Run するのが簡単(Ctrl+Shift+F10)
  • 問題なければ、README.mdSupported APIsCHANGELOG.md を更新する

OAuth 2.0 with PKCE のテスト

  • Space 系、Bookmark 系は OAuth 2.0 が必須なのでテストがちょっと面倒くさい。
  • 特に Bookmark 系は OAuth 2.0 PKCE が必須なので(アプリの設定にもよるが)アクセストークンの寿命が7200秒しかなく、開発のたびに作り直しになる。
  • 下記の手順で作る
    • twitter4j.propertiesoauth2.accessToken, oauth2.client_id, oauth2.redirect_uri を設定する。
    • OAuth2TokenProviderTest.createAuthorizeUrl を実行し、認証URLを作り、ブラウザでそのURLにアクセスし、認可する。
    • リダイレクト後の URL から code を抽出し、OAuth2TokenProviderTest.getAccessToken にそれを記入し、実行する。
    • 実行結果から accessToken を見つけ、twitter4j.propertiesoauth2.accessToken に設定する。

OAuth 2.0 Application-Only のテスト

  • Count 系(CountsTest.kt)などは OAuth 2.0 Application-Only 必須なので他とは準備方法が違う。
  • 下記の手順で作る
    • twitter4j.propertiesoauth2.accessTokenDeveloper Portal で自分のアプリ用に生成した Bearer Token を設定する。 image

    • Developer Portal で生成した Bearer Token は再表示できないのでどこかに保存しておくこと。(メモ:@takke は某「いつものログファイル」に保存してある)

    • 忘れたときは Regenerate ボタンから(但しWebサービス等で使っていないこと)。

    • Developer Portal で生成した Bearer TokenURL エンコード済み の値なので、twitter4j.propertiesoauth2.accessToken に記述する際は URL デコード済み のものを設定すること。具体的には 下記のように。

      • Developer Portal の値: AAAAAAAAAAAAAAAAAAAAAZPBd%2FfgAAAAAANCPmR5sHMi50tZ4FeitJ%2BrtCZ6c%3DKoSQnjABCDEF
      • twitter4j.properties に設定する値: AAAAAAAAAAAAAAAAAAAAAZPBd/fgAAAAAANCPmR5sHMi50tZ4FeitJ+rtCZ6c=KoSQnjABCDEF