現在開発を進めている「ソーラーパネルシミュレーション機能」屋根の形状を読み取り、発電量を予測するというこの機能を実現するには、Googleが提供する強力な地図データと日射量データが不可欠です。

今回は、Google Cloud Platform (GCP) でAPIキーを取得し、開発環境(.envファイル)に正しく設定するまでの手順をまとめました。「APIキーは使い回せるの?」「シークレットキーって何?」といった、開発中に直面した疑問やトラブルの解決策も記録しておきます。


1. プロジェクトの器を用意する

GoogleのAPIを利用するためには、まずGoogle Cloud Platform (GCP) 上で「プロジェクト」を作成する必要があります。これは、これから使う様々な機能(API)をひとまとめにして管理する「箱」のようなものです。

今回はシミュレーション機能専用として、新しいプロジェクトを作成しました。

(キャプション:プロジェクト選択画面。今回は「solar-simulation」という名前で作成)

2. 必要な「スキル」を有効化する

プロジェクトを作っただけでは、まだ何もできません。ゲームのキャラクターにスキルを覚えさせるように、このプロジェクトで「何を使いたいか」をライブラリから選んで有効化(ONに)する必要があります。

今回有効化したのは以下の3つのAPIです。

  1. Maps JavaScript API: Webサイト上に地図を表示するために必要。
  2. Geocoding API: ユーザーが入力した「住所」を、地図上の「緯度経度」に変換するために必要。
  3. Solar API: 建物の屋根の形状や、その場所の日射量データを取得するために必要(今回のキモ!)。

(キャプション:APIライブラリ画面。必要な機能を検索して「有効にする」ボタンを押していきます)

注意点

Solar APIなど高度な機能を利用する場合、Google Cloudの請求先アカウント(クレジットカード情報)の紐付けが必須です。毎月一定額の無料枠がありますが、それを超えないように管理画面でコストをチェックする習慣をつけるのがおすすめです。

3. 「鍵」を取得する

機能を有効化したら、外部のアプリケーションからアクセスするための「認証情報(APIキー)」を作成します。

作成ボタンを押すと、「AIza…」で始まる長い文字列が発行されました。これがこのプロジェクトへの通行手形となります。

(キャプション:APIキーが発行された瞬間。このキーはパスワードと同じくらい重要です)

疑問:APIごとにキーは分けなくていいの?

ここで一つの疑問が浮かびました。

「Maps用のキーと、Solar用のキーは分けなくていいのか?」

結論から言うと、**「同じキーでOK」**でした。

Google Cloudの仕様では、キーはプロジェクト単位で発行されます。そのプロジェクト内でMapsもSolarも有効化していれば、1つの鍵でどちらの扉も開けられる仕組みになっています。管理が楽で助かります。

4. セキュリティ設定(キーの制限)

発行されたキーをそのまま使うのは危険です。もしこのキーが他人に知られると、勝手に使われて高額な請求が来る恐れがあるからです。

そこで、「キーを制限」する設定を行います。

(キャプション:キーの制限設定画面)

  • アプリケーションの制限: 自分のWebサイトのドメイン(URL)からしか使えないように設定します。
  • APIの制限: このキーを使って呼び出せる機能を、今回使うMapsやSolarだけに限定します。

(キャプション:設定完了後の認証情報一覧。緑色のチェックマークが稼働中の証です)

5. 環境変数ファイル(.env)への設定とトラブル

最後に、取得したキーを開発中のアプリケーションに組み込みます。

直接プログラムの中にキーを書くのはセキュリティ上NGなので、.envという設定専用の隠しファイルに記述します。

ここで少しハマったのが「SECRET_KEY(シークレットキー)」の設定です。

「説明文」をキーだと勘違いしない

ダウンロードした設定テンプレートを見ると、SECRET_KEYの欄に非常に長い英文章が書かれていました。

一見するとこれがキーのように見えますが、よく読むと「Pythonを使ってランダムな文字列を生成してね」というただの英語の指示書きでした。

このままではエラーになってしまうため、開発ツールのコマンド機能を使って、安全なランダム文字列を生成し、それを貼り付ける必要がありました。

設定完了

最終的に、取得したGoogleのAPIキーと、生成したシークレットキーをそれぞれ対応する場所に貼り付け、設定ファイルが完成しました。

(キャプション:完成した.envファイル。黒塗り部分に実際のキーが入っています)

これで、Googleの地図データとソーラーデータを安全にアプリから呼び出す準備が整いました。

次回は、実際にこのデータを使って屋根の発電量を計算するロジック部分の実装に入ります。

← 開発録・ブログ一覧に戻る