什么是" serviceAccountKey.json"参考Firebase设备到设备通知教程

时间:2017-01-26 13:20:33

标签: java android google-app-engine firebase firebase-cloud-messaging

我设法通过完整的Firebase Android Codelab没有太多问题,应用程序运行完美。现在我想添加设备到设备通知。我找到了this tutorial: 有些事情我不清楚。

  1. 在节点脚本中有一行如下:
  2. var serviceAccount = require("path/to/serviceAccountKey.json");

    什么是" ServiceAccountKey.json"文件?它只是google-services.json的另一个名称吗?如果没有,这是什么?

    1. 是否有一个简单的"点击"教程如何将节点服务器代码部署到谷歌环境?

4 个答案:

答案 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文件...所以这就是为什么它看起来很神秘,直到我看到这个对话框。

enter image description here

第3。添加新服务帐户的屏幕

管理员界面有很多事情要做,包括从文档到各种参考资料去IAM设置,角色等等。

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

enter image description here

答案 2 :(得分:5)

看一下这个评论

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

  1. 简而言之,您生成了&#39; serviceAccountKey.json&#39;通过在Firebase信息中心的设置页面的服务帐户标签中请求新的私钥来处理文件。

  2. 返回的私钥将是一个.json文件,它将是您的&#39; serviceAccountKey.json&#39;文件...一旦您将其重命名为&#39; serviceAccountKey.json&#39;

  3. &#39;路径/到/&#39;是存储返回的json文件的目录,此目录必须位于firebase项目

答案 3 :(得分:3)

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