質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Q&A

解決済

1回答

3035閲覧

【GoogleMapsAPI】環境変数内にAPIキーを正しく設定したい

kawanoonigiri

総合スコア14

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

0グッド

0クリップ

投稿2021/08/24 01:39

編集2021/08/24 01:53

前提・実現したいこと

実現したいことはGoogleMapsAPIのキーを環境変数へ設定することです。

GoogleMapsをアプリケーション内に設置しました。
APIキーを直接コード内に記述するとmapは表示されるのですが、このままだとAPIキーが外部から見える状態になります。
そのためAPIキーを環境変数内に設定したいのですが、コンソールで値の確認をしてもnilが返ってきてしまいます。

ターミナルにて「vim ~/.zshrc」を実行後、
zsh内に「export GOOGLE_MAPS_API_KEY='********************'」と記述しています。
(APIキーは
に置き換えてあります)
「:wq」で終了後、「rails c」コンソールを起動し
「ENV['GOOGLE_MAPS_API_KEY']」で値が取得できるか確認するも「nil」が返ってきています。

他にAWSのキーも保存してあるのですが、こちらは正しく値が取得できています。

rb

1<script async 2 src="https://maps.googleapis.com/maps/api/js?key=<%=ENV['GOOGLE_MAPS_API_KEY']%>&callback=initMap"> 3</script>

また、上記コードの

rb

1<%=ENV['GOOGLE_MAPS_API_KEY']%>

部分に直接APIキーを記述すると正しくマップが表示されます。

公式ページのトラブルシューティング内も探してみましたが該当記述は見つけられず、どなたかご教授いただけますと助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

gem 'dotenv-rails'を使うことで解決しました。

gem 'dotenv-rails'をgemfileに追加
ターミナル内でbundle install
テキストエディタのgemfileなどがあるディレクトリに「.env」ファイルを作成
同ファイル内に自身のAPI_KEYを記述

SECRET_KEY='******'

.gitignoreファイルの一番下に下記コードを追加
※これをしないと外部にAPIキーが漏れる可能性があるので注意

/.env

最後にビューファイルに下記コードを追加して完成

<%=ENV['GOOGLE_MAPS_API_KEY']%>

投稿2021/08/24 07:58

kawanoonigiri

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問