Twitter連携アプリのOAuth認証が出来なくなったのが無事解決!

広告

Twitter

Twitter連携アプリを作っているのですが、今まで問題の無かったアプリが突然認証できなくなりました。


調べてみると、6月13日頃にTwitterのOAuth APIの仕様が変わったのが問題だったようです。
既にトークンを持っている場合は問題なく、トークンが無い場合に認証へ行った際に初めて気づきます。



アプリ側の仕様は、Android環境のためTwitter4Jのライブラリを使っています。
認証は、以下のような流れで行っています。


ボタンクリック→Twitter認証画面→認証完了→アプリへ戻る。


このボタンクリック→Twitter認証画面。
この部分で「403 Forbidden」が返ってきて遷移しませんでした。



解決方法は、https://apps.twitter.com/のアプリSettingsタブのCallback URLsにパラメータを設定する必要があります。
どんなパラメータを指定すれば良いのか・・・いろいろな書き方があるようです。






いろいろ試してみて問題無いものを探ってみてください。
私は、アプリ側は変更せずCallback URLsに「{連携アプリ名}://」を設定したら通るようになりました。
アプリ側からは「{連携アプリ名}://twitter」で渡しています。



TwitterKitの記事に出ていたような形で「twitter4J-{連携アプリのConsumer Key}://」にしたら403が返ってきて弾かれました。



何が正解なのかを探る事が出来ませんでしたのでモヤモヤしていますが、とりあえず直りました。