今プログラミングスクールに通いながら作成中のWEBアプリはYahoo地図のAPIを利用して地図表示を行おうと思っております。
それで事前にYahoo API KEYを取得しました。
このAPI KEYですが、基本的にはプログラムに埋め込まずに環境変数に格納しておくことでセキュリティが高まるとされています。
Githubに乗せたりするときに環境変数を管理外に置くことで他者にも見られなくなりますので、それを実施してみました。
その手順を備忘録として残しています。
流れは次のようになっています。
目次
dotenvというGemをインストール
RailsのGemfileに以下のように追記しました。
#環境変数を扱う gem 'dotenv-rails'
コンソールからバンドルインストールを実行。
$ bundle install
.envファイルを作成
プロジェクトのトップディレクトリに.envというファイルを作成します。
この階層には他にGemfileや.gitignoreファイルがあります。
.envの中身に以下のように記述して保存しました。
YAHOO_API_KEY = ‘<自分のYahooアプリケーションID>’
この値を扱うには、Rubyの中でENV[‘YAHOO_API_KEY’]とすれば取り出せます。
.envファイルはgitの管理下から外すので、.gitignoreに以下を追記しました。
/.env
表示部分の書き方
html.erbファイル上は以下のように記述。
これはYahoo地図を表示するJavascriptです。
<script type="text/javascript" charset="utf-8" src="https://map.yahooapis.jp/js/V1/jsapi?appid=<%= ENV['YAHOO_API_KEY'] %>"></script>
Railsのコントローラーでは以下のように記述しました。
ymap_query = 'https://map.yahooapis.jp/search/local/V1/localSearch?output=json&appid=' + ENV['YAHOO_API_KEY'] + '&sort=match&&query=ラーメン 新宿'
これでAPIが正常に動いたので大丈夫だと思いました。