[Twitter API][TwitterKit][Android] ログイン時に「TwitterAuthException: Failed to get request token」が発生したので対応した

こんにちは!スィンです。

TwitterKitを使ったTwitterアプリ「Txiicha for Twitter」にて、Twitterログインボタン押下時に「TwitterAuthException: Failed to get request token」が発生したので対応しました。

 

TwitterKitを使わずに認証している場合

Callback URL not approved for this client application.
Approved callback URLs can be adjusted in your application settings

というメッセージが含まれた Exception を受け取っているかもしれません。

 

テスト

対応する前に、まずは開発環境で現象を確認するなど、テスト項目を考えました。

  1. ログインボタン押下時にエラーが発生し、ログインできないこと
  2. Twitter公式アプリ未インストール状態にて、ログインボタン押下時にエラーが発生せずログインできること
  3. Twitter公式アプリインストール済み状態にて、ログインボタン押下時にエラーが発生せずログインできること

 

なんでこうなった?

これは、 2018年6月12日から、Twitterアプリ管理画面の「Callback URLs」(ホワイトリスト)と、アプリ側の request_token 要求時に指定するコールバックURLを一致させないといけなくなったことによるものらしいです。今までは一致してなくて適当でよかったのが、厳格になったみたいですね。

 

ログインできる人とできない人がいるのは何故?

TwitterKitを利用している場合、Twitter公式アプリがインストールされているとこの現象は発生しないようです。公式アプリをアンインストールすると、現象が確認できました。

 

対応方法

Twitterの Application Management 画面で、対象のアプリをクリックしてアプリ管理画面を開きます。

「Settings」タブを開き、Callback URLs を「twittersdk://」に変更して「Update Settings」ボタンを押します。

以上です。

ソースコードなど、アプリ側の変更は不要です。

 

参考にさせていただいたサイト

 

最後に

Twitterさんの仕様変更とかに振り回される開発は楽しくなかったのですが、最近少しだけ楽しめるようになりました。

この記事が役に立ったら、下の「いいね」ボタンを押してくれると嬉しいですー!ではまた会いましょう。スィンでした。

Leave a comment

メールアドレスが公開されることはありません。

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)