VercelなどでGoogle APIのキーを環境変数から読む方法

VercelでGoogle Calendar APIを使おうとした時に、少しハマったので覚え書き。 1行のフォームに、複数行のデータを入れる Google APIのプライベートキーは複数行で構成されています。 みたいなイ […]

広告ここから
広告ここまで

目次

    VercelでGoogle Calendar APIを使おうとした時に、少しハマったので覚え書き。

    1行のフォームに、複数行のデータを入れる

    Google APIのプライベートキーは複数行で構成されています。

    -----BEGIN PRIVATE KEY-----
    XXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXX
    -----END PRIVATE KEY-----

    みたいなイメージですね。

    これをVercelなどの環境変数に設定する場合、1行で納める必要があります。

    -----BEGIN PRIVATE KEY-----\nXXXXXXXXXXXXXXXXXXXXXXXXXXXX\nXXXXXXXXXXXXXXXXXXXXXXXXXXXX\nXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-----END PRIVATE KEY-----

    環境変数を読み込む時に、改行しなおす

    Next.jsのDiscussionsを参考に、改行コード部分をreplace関数で変更しました。

    const private_key = process.env.GOOGLE_PRIVATE_KEY?.replace(/\\n/g, '\n')

    「安全な運用」を目指す場合

    今回は「READオンリー」かつ「見られても問題のないデータ」でしたので、手早く環境変数をつかいました。

    本来はSecrets Managerなどを使う方が安全かと思います。

    この辺りのサービスでは、複数行のデータも保存できるケースがあったはずなので、replaceなどの考慮も不要になるかしれません。

    参考記事

    https://github.com/vercel/next.js/discussions/38430

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark