Macのローカル環境でFacebookやLineなどのコールバックAPIを使いたいときに便利なngrok(Django編)

Line Message APIをローカル環境でテストしたい

Line Message APIの動作確認するためにはコールバック用にWeb上にサイトを公開する必要があります。イチからサーバーを立ててApacheを起動して…と普通にやるととても面倒なことになります。そこでおすすめしたいのがngrokです。ngorkを使うとローカル環境でも仮でWeb上に公開することができます。サーバーを借りる必要もないですし、ローカル環境でコールバックテストすることできるツールです。導入方法もとても簡単でbrewでインストールすることができます。簡単にいうと、ローカルPC上で稼働しているネットワーク(TCP)サービスを外部公開できるサービスです。例えば、ローカルPCのWebサーバーを外部公開することができます。

brewでngrokをインストールする

“`
$ brew cask install ngrok
“`

だけでインストール完了です。あとは、ngrokを実行するだけで即コールバックテストを利用することができます。

ngrokの使い方

web上にサーバーを立てる必要はないですが、ローカル環境上でサーバーを起動する必要があります。今回はDjangoフレームワークを使って仮Webサーバーを立ち上げます。

“`
$ python manage.py runserver 8080
$ ngrok http 8080
“`

上記コマンドでDjangoのwebサーバー`http://localhost:8080`を立ち上げてngrokでローカルの開発環境をweb上に公開します。ngrokが起動すると下記内容が表示されます。`Forwarding`と書かれている部分をブラウザでチェックすると、自分のローカル環境サイトを確認することができます。SSL(https)も使うことができるので、SSLでしか利用できないFacebookApiのコールバックテストをするときにも重宝します。Ctrl+CでWeb公開を止めることができます。TCPサービスで外部に公開している状態なので長時間の利用はおすすめしません。ローカル環境でコールバックテストをさくっとテストして終わったら閉じたほうがセキュリティ面で安全です。

“`
Session Status online
Session Expires 1 hour, 52 minutes
Update update available (version 2.3.34, Ctrl-U to update)
Version 2.3.30
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://hogehoge.ngrok.io -> http://localhost:8080
Forwarding https://hogehoge.ngrok.io -> http://localhost:8080
“`