Twitter APIのCallback URLを複数登録する


以前は、Twitter APIでURLを設定すればTwitterアプリケーションを登録で登録していないURLでもCallback URLとしてつかえました。


しかし、現在(2018/06/20)Twitterアプリケーションを登録で登録していないURLが使えなくなっています。登録していないURLをAPIで指定すると下のエラーが発生します。
Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings

以前のようにTwitter APIで自由にURLを指定することはできませんが、かわりにCallback URLが複数登録できるようになっています。

Callback URLsの最後に空のテキストフィールドが増えているので、ここに追加するCallback URL設定して、[Add a Callback URL]ボタンを押すとCallback URLが追加できます。追加すると、また空のテキストフィールドが増えるのでさらに追加することもできます。

手順

  1. Callback URLsの最後に空白のテキスト入力欄に追加したCallback URLを設定する
  2. すぐ下の[Add a Callback URL]ボタンを押してURLを追加する
  3. 画面の最後にある[Update Settings]ボタンを押して、変更を反映する

Callback URLを動的に変更するには?

Twitter REST APIの[POST oauth/request_token]のoauth_callbackに上の手順で設定したCallback URLを設定するだけです。

Twitter4Jでは、getOAuthRequestToken()の引数でURLを指定します。

twitter.getOAuthRequestToken("https://localhost:8080/callback");
2018/06/2時点では登録したCallback URLはlocalhostでも問題ありません。