【问题标题】:Issue with Firebase Cloud function.. not able to read parametersFirebase Cloud 功能问题.. 无法读取参数
【发布时间】:2021-03-17 18:53:33
【问题描述】:

我不明白为什么这不起作用,因为它是基本的。

这是我的代码:

// Init cloud functions
const functions = require('firebase-functions');

const admin = require('firebase-admin');
// Used to access entire JSON Nodes as Admin...
admin.initializeApp();


exports.verifyIAP = functions.database.ref('/Users/{userid}/IAP/{groupid}/{rdate}')
.onCreate((snapshot, context) => {

    const groupId = context.params.groupid;
    console.log('GroupID: ', groupId);

    const receiptDate = context.params.rdate;
    console.log('receipt Date: ', receiptDate);

    const userId = context.params.userid;
    console.log('UserID: ', userId);

    const receipt = snapshot.val().ReceiptData;
    console.log('receipt Data: ', receipt);

});

函数触发时,日志显示所有变量为未定义!?

我错过了什么!?

【问题讨论】:

  • 你在哪里写触发云功能?你是如何运行 CF 的?模拟器?贝壳?部署了吗?
  • @frank 已部署
  • @frank 并触发它我向 /Users/{userid}/IAP/{groupid}/{rdate} firebase realtime db 节点添加了一个新行
  • 我认为您的意思是在此处标记@RenaudTarnec,他发表了评论。我只是在您的问题中添加了一个标签,以确保代码突出显示语法。
  • @RenaudTarnec 请在上面查看我的 cmets,标记了错误的人,看到 franks 的照片并认为是他 ;)

标签: node.js firebase firebase-realtime-database google-cloud-functions


【解决方案1】:

您的功能运行良好。我刚刚对其进行了测试,问题可以指向您如何插入数据。出于测试目的,下面是我用来插入数据和触发函数的示例代码:

// Import Admin SDK
var admin = require("firebase-admin");

var serviceAccount = require("./*******.json");
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://********.firebaseio.com/"  
});

var db = admin.database();
var ref = db.ref("Users");
ref.set({
  "userId" : {
    "IAP" : {
      "groupId" : {
        "rdate" : {
          "ReceiptData" : "testVAl"
        }
      }
    }
  }
}).then(result => {
  console.log('done')
  process.exit(0)
});

【讨论】:

    猜你喜欢
    • 2020-07-18
    • 2020-10-16
    • 2020-04-28
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    相关资源
    最近更新 更多