Facebook APIのcallbackで(指定されたURLは、アプリケーションの設定で許可されていません。)になってドはまりした

Facebookのアプリなんて今更誰が作るのかというのはおいといて、facebook apiを野暮用で使うことになったが、このcallbackで苦労した・・。

php-sdk-4を使ってfacebook loginを使おうとしていたけど、ちゃんと実装はできていてfacebookに遷移まではするが、そこで↓こういうエラーが出てしまう。

指定されたURLは、アプリケーションの設定で許可されていません。: 指定されたURLの中にアプリの設定で認められないものが含まれています。ウェブサイトまたはキャンバスのURLと一致しているか、ドメインがアプリのドメインサブドメインである必要があります。

で、何がいけないのかと思ってfacebook apiのcallback urlについて調べるとlocalhostを指定することができないという記事がたくさんヒットする。

http://stackoverflow.com/questions/5133075/running-facebook-application-on-localhost

こういう理由でlocalhostはダメだからこうしろとか、色々書いてある。

(余談ですが↑の回答者が書いてるリンク先に飛んだらPHPのエラーが超表示されてて全く参考にしたくないなと思いました)

f:id:totem_3:20140725082532p:plain

で、local.example.comとか適当なドメインfacebook developoerのサイトでアプリに設定して、/etc/hostsに書いてそのドメインlocalhostを見るようにしたり、reverse proxyを立てて見たり、ありとあらゆることを試したんですがダメだった。

なんでダメだったのかよくわからない。。。結局普通にここに設定すれば、localhostでもできた

f:id:totem_3:20141029054233p:plain

けどlocalhostを指定するなんて、テストアプリ以外ではダメですけどね