我成功地完成了完整的 Firebase Android Codelab ,没有太多问题,该应用程序运行完美。现在我想添加设备到设备的通知。我找到了这个教程: 有些事情我不清楚。
var serviceAccount = require("path/to/serviceAccountKey.json");
什么是“ServiceAccountKey.json”文件?它只是 google-services.json 的另一个名称吗?如果不是的话,这是什么?
在您关注的博客文章中,我们使用 Firebase Admin SDK 在 Google Cloud 的 App Engine 灵活环境上运行 node.js 脚本。服务帐户是一种让受信任的进程能够访问 Google Cloud Platform 和 Firebase 资源的方法。
您通过 Google Cloud Console 创建服务帐户,然后下载相应的 JSON 文件。博客文章中的代码查找该文件并使用它来初始化 Firebase Admin SDK。
感谢,并继续弗兰克的回答 ..这里有一些额外的观察结果
1。
serviceAccountKey.json
不是实际的文件名
来自 Android 客户端的工作,我认为这是一个固定名称,就像
google-services.json
在 Android 项目中一样。然而,它只是一个占位符名称。该文件是使用 Google Web UI 中的唯一名称生成的,该文件是在引用占位符的情况下应用的文件。
2。文件只能获取一次
浏览那里的文档,我想也许您可以使用现有的服务帐户来获取该文件。然而,经过一番环顾四周后..我尝试创建一个新文件,从它给出的对话框中,复选框告诉我们您只能获取该 .json 文件一次 - 在创建服务帐户项目时。
文档讨论了创建服务帐户,但我没有看到太多提及获取该 .json 文件..所以这就是为什么它看起来模棱两可,直到我看到这个对话框。
3.添加新服务帐户的屏幕
管理 UI 有很多内容,包括文档中转到 IAM 设置、角色等的各种参考。
冒着陈述显而易见的风险(但可能会帮助其他人比我更快到达这里),-这是我添加服务帐户并获取下载 .json 文件的对话框的视图。
看看这个评论
https://stackoverflow.com/a/49039675/2472466
简而言之,您可以通过从 Firebase 仪表板中设置页面的服务帐户选项卡请求新的私钥来生成
serviceAccountKey.json
文件。 返回的私钥将是一个 .json 文件,它将成为您的
serviceAccountKey.json
文件...一旦您将其重命名为 serviceAccountKey.json
path/to/
是您存储返回的json文件的目录,该目录必须位于您的firebase项目中这非常令人困惑,但首先您必须从 Google IAM 生成一个服务帐户。创建服务帐户后,右键单击三个点并选择“创建密钥”。它应该提示您使用 JSON 选项。下载并将其存储在您的项目目录中。
如果您使用的是 firebase admin sdk(用于谷歌云功能) 请按照以下步骤操作: