Firebaseとconsole.logからデータを読み込むHerokuノードタスクを作成しようとしています。 (/ binディレクトリ内にある)firebase privatekeyをエロイコ設定変数としてエスケープする
マイノードのスクリプトは次のとおりです。
require('dotenv').config({ silent: true });
var firebase = require('firebase');
firebase.initializeApp({
serviceAccount: {
projectId: process.env.fb_projectId,
clientEmail: process.env.fb_clientEmail,
privateKey: process.env.fb_privateKey
},
databaseURL: process.env.fb_databaseURL
})
console.log(process.env.fb_privateKey);
firebase.database().ref('tasks').once('value', function(snapshot) {
console.log(snapshot.val());
process.exit();
})
それは\n
文字が含まれているため、すべてのenv変数は、fb_privateKey
除いて、正しいです。 "
に囲ま -
どちらも私の地元の.env
ファイルとHerokuの環境変数は\n
文字を文字列としてfb_privateKey
という名前のキーと値が含まれています。
fb_privateKey="-----BEGIN PRIVATE KEY-----\nMY-PRIVATE-KEY\n-----END PRIVATE KEY-----\n"
私はこのスクリプトをローカルで実行すると、新しい行+ Firebaseから返されたタスクを私に秘密鍵として記録します。しかし、私がHeroku上で実行すると、(heroku run myScript
)は\n
文字(1行として)のログ私秘密鍵であり、Firebaseからのデータの読み込みに失敗している可能性があります。何か案は?
あなたは正しいとEremの回答をマークする必要があります。 – skwny