Error on Heroku when trying to post data ( error:0909006C Pem routines..._
Error on Heroku when trying to post data ( error:0909006C Pem routines..._
我正在尝试制作一个部署在 Heroku 上的小型 nodeJS 服务器,将数据保存到 Firestore 数据库。服务器已部署并且 运行 正确。
我使用 Insomnia 来测试我的请求,当我在本地使用它时,我可以发送 post 请求并将我的数据对象毫无问题地保存到数据库中。但是,当我尝试向 Heroku 发送 post 请求时,出现 500 错误消息:
{ "code": 16, "details": "Failed to retrieve auth metadata with
error: error:0909006C:PEM routines:get_name:no start line",
"metadata": {}, "note": "Exception occurred in retry method that was
not classified as transient" }
我读到有必要在 env 变量中添加真正的换行符,但我想我已经在这样做了。这是我的 initializeApp
函数:
admin.initializeApp({
credential: admin.credential.cert({
projectId: process.env.PROJECT_ID,
privateKey: process.env.PRIVATE_KEY
? process.env.PRIVATE_KEY.replace(/\n/gm, "\n")
: undefined,
clientEmail: process.env.CLIENT_EMAIL
}),
databaseURL: "XXXXX"
});
知道如何解决这个问题吗?
我通过 copy-pasting 将带断行的键直接放入 Heroku 配置变量并从代码中删除 .replace(/\n/gm, "\n")
来解决它。
privateKey: process.env.PRIVATE_KEY
? process.env.PRIVATE_KEY
: undefined
我正在尝试制作一个部署在 Heroku 上的小型 nodeJS 服务器,将数据保存到 Firestore 数据库。服务器已部署并且 运行 正确。 我使用 Insomnia 来测试我的请求,当我在本地使用它时,我可以发送 post 请求并将我的数据对象毫无问题地保存到数据库中。但是,当我尝试向 Heroku 发送 post 请求时,出现 500 错误消息:
{ "code": 16, "details": "Failed to retrieve auth metadata with error: error:0909006C:PEM routines:get_name:no start line", "metadata": {}, "note": "Exception occurred in retry method that was not classified as transient" }
我读到有必要在 env 变量中添加真正的换行符,但我想我已经在这样做了。这是我的 initializeApp
函数:
admin.initializeApp({
credential: admin.credential.cert({
projectId: process.env.PROJECT_ID,
privateKey: process.env.PRIVATE_KEY
? process.env.PRIVATE_KEY.replace(/\n/gm, "\n")
: undefined,
clientEmail: process.env.CLIENT_EMAIL
}),
databaseURL: "XXXXX"
});
知道如何解决这个问题吗?
我通过 copy-pasting 将带断行的键直接放入 Heroku 配置变量并从代码中删除 .replace(/\n/gm, "\n")
来解决它。
privateKey: process.env.PRIVATE_KEY
? process.env.PRIVATE_KEY
: undefined