如何在不使用(不推荐使用)数据库密钥的情况下将Firebase集成到Google Apps脚本中

时间:2018-11-08 12:38:05

标签: firebase firebase-realtime-database google-apps-script

前一段时间,我使用integration of Firebase in Google Apps Script作为服务器端,它运行良好,并且仍在我的旧项目中工作。

但是今天,在创建了一个新的Firebase项目和一个新的实时数据库之后,尝试将Firebase Project集成到我的Google Script project中,我得到了an error,但是它不能完全正常工作。而且我意识到Firebase deprecated database secret用于新项目。

所以,我现在的问题是如何解决这个问题?还有其他方法可以将Firebase集成到Google Script项目中吗?

1 个答案:

答案 0 :(得分:2)

您需要将正确的OAuth范围添加到Apps脚本项目的清单文件中,然后传入access_token参数(或Authorization标头)而不是{{ 1}}您当前使用的参数。

基于Doug's gist here,基本步骤为:

  1. 通过单击查看> 显示清单文件,从脚本编辑器中打开auth
  2. 添加或编辑清单以具有以下OAuth范围:

    manifest.json

    最后一个作用域授予它访问电子表格本身的权限。如果您使用的是另一种GSuite类型(文档,幻灯片,表格等),则需要与之对应的作用域。

  3. 现在,您可以从脚本中获取OAuth令牌并将其添加到您的请求中:

    "oauthScopes": [
      "https://www.googleapis.com/auth/userinfo.email",
      "https://www.googleapis.com/auth/firebase.database",
      "https://www.googleapis.com/auth/script.external_request",
      "https://www.googleapis.com/auth/spreadsheets"
    ]
    

主要优点是您的脚本现在将以实际用户身份运行,这意味着您可以确保它只能通过安全规则执行授权的操作。