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が追加できます。追加すると、また空のテキストフィールドが増えるのでさらに追加することもできます。
手順
- Callback URLsの最後に空白のテキスト入力欄に追加したCallback URLを設定する
- すぐ下の[Add a Callback URL]ボタンを押してURLを追加する
- 画面の最後にある[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でも問題ありません。