Firebase 设备到设备通知教程中的“serviceAccountKey.json”指的是什么

问题描述 投票:0回答:5

我成功地完成了完整的 Firebase Android Codelab ,没有太多问题,该应用程序运行完美。现在我想添加设备到设备的通知。我找到了这个教程: 有些事情我不清楚。

  1. 在节点脚本中有这样一行:

var serviceAccount = require("path/to/serviceAccountKey.json");

什么是“ServiceAccountKey.json”文件?它只是 google-services.json 的另一个名称吗?如果不是的话,这是什么?

  1. 有没有一个简单的“点击通过”教程如何将节点服务器代码部署到google环境?
java android google-app-engine firebase firebase-cloud-messaging
5个回答
21
投票

在您关注的博客文章中,我们使用 Firebase Admin SDK 在 Google Cloud 的 App Engine 灵活环境上运行 node.js 脚本。服务帐户是一种让受信任的进程能够访问 Google Cloud Platform 和 Firebase 资源的方法。

通过 Google Cloud Console 创建服务帐户,然后下载相应的 JSON 文件。博客文章中的代码查找该文件并使用它来初始化 Firebase Admin SDK。


18
投票

感谢,并继续弗兰克的回答 ..这里有一些额外的观察结果

1。

serviceAccountKey.json
不是实际的文件名

来自 Android 客户端的工作,我认为这是一个固定名称,就像

google-services.json
在 Android 项目中一样。然而,它只是一个占位符名称。该文件是使用 Google Web UI 中的唯一名称生成的,该文件是在引用占位符的情况下应用的文件。


2。文件只能获取一次

浏览那里的文档,我想也许您可以使用现有的服务帐户来获取该文件。然而,经过一番环顾四周后..我尝试创建一个新文件,从它给出的对话框中,复选框告诉我们您只能获取该 .json 文件一次 - 在创建服务帐户项目时。

文档讨论了创建服务帐户,但我没有看到太多提及获取该 .json 文件..所以这就是为什么它看起来模棱两可,直到我看到这个对话框。


3.添加新服务帐户的屏幕

管理 UI 有很多内容,包括文档中转到 IAM 设置、角色等的各种参考。

冒着陈述显而易见的风险(但可能会帮助其他人比我更快到达这里),-这是我添加服务帐户并获取下载 .json 文件的对话框的视图。


14
投票

看看这个评论

https://stackoverflow.com/a/49039675/2472466

  1. 简而言之,您可以通过从 Firebase 仪表板中设置页面的服务帐户选项卡请求新的私钥来生成

    serviceAccountKey.json
    文件。

  2. 返回的私钥将是一个 .json 文件,它将成为您的

    serviceAccountKey.json
    文件...一旦您将其重命名为
    serviceAccountKey.json

  3. path/to/
    是您存储返回的json文件的目录,该目录必须位于您的firebase项目中


3
投票

这非常令人困惑,但首先您必须从 Google IAM 生成一个服务帐户。创建服务帐户后,右键单击三个点并选择“创建密钥”。它应该提示您使用 JSON 选项。下载并将其存储在您的项目目录中。


0
投票

如果您使用的是 firebase admin sdk(用于谷歌云功能) 请按照以下步骤操作:

  1. 转到 Firebase 控制台并选择您的项目。
  2. 导航到项目设置 > 服务帐户。
  3. 在“Firebase Admin SDK”部分下,点击“生成新的 私钥”按钮。这将下载一个包含以下内容的 JSON 文件: 你的私钥。
© www.soinside.com 2019 - 2024. All rights reserved.