TwitterのAPIでCallbackのエラーが出ていた
Twitterの認証でエラーが出ていた。
急になぜ??
Received HTTP status code [403] with message
"
<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings
</error>
</errors>
"
when getting temporary credentials.
Enable Callback Locking (It is recommended to enable callback locking to ensure apps cannot overwrite the callback url)
error code="415"
ってなんだ??
原因
調べてみると一ヶ月前から告知がされていました。
https://twittercommunity.com/t/action-required-sign-in-with-twitter-users-must-whitelist-callback-urls/105342
これまではURLのチェックがなく、とりあえず入れていればなんでもOKでしたが、きちんとチェックするようになったということです。
こんなふうに、今まではURLはなんでも良かったのです。
解決策
2018年6月13日以降はAPIを使用するアプリ側できちんとcallback時のURLを設定する必要があります。
アカウントを連携する時に返ってくるURLになります。
ちなみに開発環境においては、 localhost
はNGでしたが、Vagrantで使用しているIPを使ってもOKでした。
実際のアプリでは正しくURLを指定する必要があります。
つまりoauth/request_token
をリクエストする時のoauth_callback
パラメータに入るurlを、Twitterの開発アカウントの設定画面のcallbackURLで設定したURLと一致していないとダメになりました。
詳しくはこちら
https://twittercommunity.com/t/application-oauth-callback-url-cant-be-whitelisted/105957
https://developer.twitter.com/en/docs/basics/callback_url