为了账号安全,请及时绑定邮箱和手机立即绑定

Heroku 没有读取 Firestore 凭据

Heroku 没有读取 Firestore 凭据

Go
慕容森 2022-10-17 10:02:49
我正在做一个项目,我正在使用GinAPI 开发框架和Firestore数据库。在本地,一切正常。我能够执行 CRUD 操作。当我将 API 部署到 时Heroku,我可以在日志中看到构建成功并且应用程序已部署。当我单击它打开它时,它给出了错误"Application error"。这是因为 Heroku 没有firestore从google-credentials.json文件中读取我的凭据。而且我不应该上传google-credentials.json文件,因为它有我的凭据。对于本地,我通过提供本地文件路径来阅读它。控制器/users.govar firestoreCredentialsLocation = "A:/Go/API_Gin/google-credentials.json"     //local  path to filefunc GetUses(c *gin.Context) {    // Use a service account    ctx := context.Background()    sa := option.WithCredentialsFile(firestoreCredentialsLocation)    app, err := firebase.NewApp(ctx, nil, sa)    if err != nil {        log.Fatalln(err)    }    client, err := app.Firestore(ctx)    if err != nil {        log.Fatalln(err)    }    defer client.Close()    blah blah..........    blah blah..........    blah blah..........    }    c.IndentedJSON(http.StatusOK, gin.H{        "message": "Users returned successfully!",    })}点击网址后报错:错误日志:日志你们能告诉我如何解决这个问题吗?我应该怎么做才能让 Heroku 读取我的数据库凭据并成功部署应用程序?另外,告诉我给出 .json 文件的路径是一个好方法吗?谢谢你。
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

问题解决了。我以不正确的方式读取端口值,因此,应用程序崩溃了。Heroku 的 Go 应用程序文档帮助了我。

https://devcenter.heroku.com/articles/getting-started-with-go


查看完整回答
反对 回复 2022-10-17
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

不要从文件中获取凭据,而是尝试从环境变量中获取它们。您可以查看此 Heroku 文档以了解如何在 Heroku https://devcenter.heroku.com/articles/config-vars中设置环境变量


查看完整回答
反对 回复 2022-10-17
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

您可以在此处使用 Heroku google-credentials build pack从环境变量中读取 google-credentials 并在 heroku 中创建 credentials.json



查看完整回答
反对 回复 2022-10-17
  • 3 回答
  • 0 关注
  • 346 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号