gpt4 book ai didi

firebase - 如何在不使用(已弃用)数据库 secret 的情况下将 Firebase 集成到 Google Apps 脚本中

转载 作者:行者123 更新时间:2023-12-01 12:09:28 25 4
gpt4 key购买 nike

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

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

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

最佳答案

您需要将正确的 OAuth 范围添加到您的 Apps 脚本项目的 list 文件中,然后传入 access_token参数(或在 Authorization header 中)而不是 auth您当前使用的参数。

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

  • 打开 manifest.json从脚本编辑器中,通过单击查看 > 显示 list 文件。
  • 添加或编辑 list 以具有以下 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"
    ]

    最后一个范围授予它访问电子表格本身的权限。如果您使用其他 GSuite 类型(文档、幻灯片、表单等),您将需要与类型对应的范围。
  • 现在您可以从脚本中获取 OAuth token 并将其添加到您的请求中:
    var response = UrlFetchApp.fetch(databaseUrl, {
    method: "PUT",
    headers: {
    "Content-type": "application/json",
    "Authorization": "Bearer "+ScriptApp.getOAuthToken()
    },
    payload: JSON.stringify(json)
    });
    Logger.log(response.getContentText());

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

    关于firebase - 如何在不使用(已弃用)数据库 secret 的情况下将 Firebase 集成到 Google Apps 脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53207906/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com