GASのスクリプトプロパティで躓いた話
1:スクリプトプロパティとは
説明すると長くなるので以下の記事を参照
2:なにで躓いたか
Google FirebaseのFirestoreと連携したサービスを作成中、
セキュリティー面から環境変数となるものを使いたくなりこれに保存した。
保存したのはprivateKeyとEmail。
どちらも保存した値は問題なかったが、なぜか呼び出すと
うまく認証してくれない。
ってことでみんな大好き(((圧 console.logを使って調べた。
3:結論
FirestoreのprivateKeyは、以下のような書式になっている。
-----BEGIN PRIVATE KEY-----\nxxxxxxxxxxxxxx\n-----END PRIVATE KEY-----\n
これをスクリプトプロパティに保存し、呼び出すと
-----BEGIN PRIVATE KEY-----\\nxxxxxxxxxxxxxx\\n-----END PRIVATE KEY-----\\n
となっていた。つまりGoogleの内部システムでは
となっていたと思われる。
4:対処
①string.replaceAll()を使う
\\nとして使いたい文字列が混ざってなければ
string.replaceAll("\\n","\n")としてすべて強制的に直す。
②GASを使わない
GASをあきらめる。
この記事が気に入ったらサポートをしてみませんか?