适用于 Firebase 的云函数将日期更新到数据库



我正在尝试将日期添加到Firebase数据库的以下位置:/users/{uid]/AccessDate.我正在使用的函数是使用 HTTPS WebHook。我正在像这样访问该功能:

https://us-central1-project_my_project.cloudfunctions.net/date

这是我尝试修改的代码:

请帮忙:(

     /**
     * Copyright 2016 Google Inc. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    'use strict';
    // [START functionsimport]
    const functions = require('firebase-functions');
    const admin = require('firebase-admin');
    admin.initializeApp(functions.config().firebase);
    // [END functionsimport]
    // [START additionalimports]
    // Moments library to format dates.
    const moment = require('moment');
    // CORS Express middleware to enable CORS Requests.
    const cors = require('cors')({origin: true});
    // [END additionalimports]
    // [START all]
    /**
     * Returns the server's date. You must provide a `format` URL query parameter or `format` vaue in
     * the request body with which we'll try to format the date.
     *
     * Format must follow the Node moment library. See: http://momentjs.com/
     *
     * Example format: "MMMM Do YYYY, h:mm:ss a".
     * Example request using URL query parameters:
     *   https://us-central1-<project-id>.cloudfunctions.net/date?format=MMMM%20Do%20YYYY%2C%20h%3Amm%3Ass%20a
     * Example request using request body with cURL:
     *   curl -H 'Content-Type: application/json' /
     *        -d '{"format": "MMMM Do YYYY, h:mm:ss a"}' /
     *        https://us-central1-<project-id>.cloudfunctions.net/date
     *
     * This endpoint supports CORS.
     */
    // [START trigger]
    exports.date = functions.https.onRequest((req, res) => {
    // [END trigger]
      // [START sendError]
      // Forbidding PUT requests.
      if (req.method === 'PUT') {
        res.status(403).send('Forbidden!');
      }
      // [END sendError]
      // [START usingMiddleware]
      // Enable CORS using the `cors` express middleware.
      cors(req, res, () => {
      // [END usingMiddleware]
        // Reading date format from URL query parameter.
        // [START readQueryParam]
        let format = req.query.format;
        // [END readQueryParam]
        // Reading date format from request body query parameter
        if (!format) {
          // [START readBodyParam]
          format = req.body.format;
          // [END readBodyParam]
        }
        // [START sendResponse]
        const formattedDate = moment().format(format);
        console.log('Sending Formatted date:', formattedDate);
      //  var db = firebase.database();
      //  db.ref("-Users/Oer5c1NxFOVw5DpzN4miuu7j2").update({ AccessDate: formattedDate });
//// this does not work,,,, 

         console.log('FORMAT =>',format,'<=');
        res.status(200).send(formattedDate);
        // [END sendResponse]
      });
    });
    // [END all]

您需要像这样调用更新:

admin.database().ref("-Users/Oer5c1NxFOVw5DpzN4miuu7j2").update({ AccessDate: formattedDate });

最新更新