我设法通过完整的Firebase Android Codelab没有太多问题,应用程序运行完美。现在我想添加设备到设备通知。我找到了this tutorial: 有些事情我不清楚。
var serviceAccount = require("path/to/serviceAccountKey.json");
什么是" ServiceAccountKey.json"文件?它只是google-services.json的另一个名称吗?如果没有,这是什么?
答案 0 :(得分:17)
在您关注的博客文章中,我们使用Firebase管理SDK在Google Cloud的App Engine灵活环境中运行node.js脚本。服务帐户是一种让受信任的流程可以访问Google Cloud Platform和Firebase资源的方法。
您create a service account through the Google Cloud Console然后下载相应的JSON文件。博客文章中的代码会查找该文件,并使用它来初始化Firebase Admin SDK。
答案 1 :(得分:10)
感谢并继续Frank's answer ..这里还有一些额外的观察
<强> 1。 serviceAccountKey.json
不是实际的文件名
来自Android客户端的工作,我认为这是google-services.json
在Android项目中的固定名称。但是,它只是一个占位符名称。该文件使用Google Web UI中的唯一名称生成,这是应用占位符所在的文件。
<强> 2。您只能获得一次文件
通过那里的文档,我想也许你可以使用现有的服务帐户来获取该文件。然而,经过一些环顾四周..我尝试创建一个新的,并从它给出的对话框,复选框告诉我们你只能得到.json文件一次 - 创建服务帐户项目。
文档讨论了创建一个服务帐户,但是我没有多少提到获取.json文件...所以这就是为什么它看起来很神秘,直到我看到这个对话框。
第3。添加新服务帐户的屏幕
管理员界面有很多事情要做,包括从文档到各种参考资料去IAM设置,角色等等。
冒着说明显而易见的的风险(但可能会帮助其他人比我更快到达这里), - 这是我添加Service Acct并获取下载对话框的视图。 json文件。
答案 2 :(得分:5)
看一下这个评论
https://stackoverflow.com/a/49039675/2472466
简而言之,您生成了&#39; serviceAccountKey.json&#39;通过在Firebase信息中心的设置页面的服务帐户标签中请求新的私钥来处理文件。
返回的私钥将是一个.json文件,它将是您的&#39; serviceAccountKey.json&#39;文件...一旦您将其重命名为&#39; serviceAccountKey.json&#39;
&#39;路径/到/&#39;是存储返回的json文件的目录,此目录必须位于firebase项目
答案 3 :(得分:3)
这很令人困惑,但首先您必须从Google IAM生成服务帐户。创建服务帐户后,右键单击三个点并选择“创建密钥”。它应该提示您使用JSON选项。下载并将其存储在项目目录中。