【问题标题】:Update Firebase Realtime Database after specific time [duplicate]在特定时间后更新 Firebase 实时数据库 [重复]
【发布时间】:2018-09-14 11:18:41
【问题描述】:

考虑以 JSON 格式存储在 firebase 中的以下数据库 -

"root":
{
    "survey":
    {
        "1":
        {
            "survey_question":"Who is a better player?",
            "option1":"Ronaldo",
            "option2":"Messi",
            "time_posted":7854123265,
            "visibility":1
        },
        "2":
        {
            "survey_question":"Who is a better singer?",
            "option1":"Ed Sheeran",
            "option2":"Chris Martin",
            "time_posted":9865321245,
            "visibility":1
        }
    }
}

我可以编写一个在创建新调查时触发的 Firebase 云函数。
但是我应该怎么做才能在time_posted 24 小时后将可见性更新为0

编辑:我查看了this question 的解决方案并按照说明操作-

  • index.js文件中编写了我想要触发并成功部署的函数。
  • cron-job.org 使用以下函数地址创建了一个cron 作业-
    https://us-central1-<PROJECT-ID>.cloudfunctions.net/<FUNCTION-NAME>?key=<PROJECT-KEY>

cron 作业执行失败,出现以下错误消息-
Error: Forbidden Your client does not have permission to get URL /<FUNCTION-NAME>?key=<PROJECT-KEY> from this server.

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-cloud-messaging google-cloud-functions


    【解决方案1】:

    使用time_posted 来检查Date.now() - time_posted &lt;= 24 * 60 * 60 * 1000 可能更容易进行时间差异(确保它在发布后的一天内)。

    或者,在 child_added 事件中,您可以执行 setTimeout,在 24 小时后回调并更新 visibility 标志,但这似乎有点混乱。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 2019-03-14
      相关资源
      最近更新 更多