【问题标题】:Run firebase cloud function when a key is a specific value当键是特定值时运行 firebase 云功能
【发布时间】:2018-03-07 05:53:32
【问题描述】:
const functions = require('firebase-functions');
var IAPVerifier = require('iap_verifier');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.verifyReceipt = functions.database.ref('/Customers/{uid}/updateReceipt')
    .onWrite(event => {
        const uid = event.params.uid;
         var receipt = event.data.val();
    (strReceipt).toString('base64');
var client = new IAPVerifier('IAP_secretkey')
client.verifyAutoRenewReceipt(receipt, true,function(valid, msg, data){
    console.log(' RECEIPT');
  if(valid) {
    console.log('VALID RECEIPT');
    console.log('msg:' + msg);
   var strData = JSON.stringify(data);
    console.log('data"' + strData);
    const newReceiptRef = admin.database().ref('/Customers/{uid}/');
    newReceiptRef.update({'receiptData1': data});
     const recVerRef = admin.database().ref('/Customers/{uid}/');
    newReceiptRef.update({'updateReceipt': 0});


    // update status of payment in your system
  }else{
    console.log('INVALID RECEIPT');
     console.log('msg:' + msg);
    var strData = JSON.stringify(data);
    console.log('data"' + strData);
  }
});
    });

这是我的节点 js 云功能。 'updateReceipt' 的可能值为 0 和 1。是否只有当值为 1 时才可以运行云功能?

谢谢。

【问题讨论】:

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


    【解决方案1】:

    没有办法只在存在特定值时触发函数。

    我能想到两个选择:

    1. 根据updateReceipt 值将节点写入不同的分支。
    2. if 添加到您的代码中。

    第二个选项绝对是最简单的:

    exports.verifyReceipt = 
    functions.database.ref('/Customers/{uid}/updateReceipt')
      .onWrite(event => {
        const uid = event.params.uid;
        var receipt = event.data.val();
        if (receipt.updateReceipt === 0) {
          var client = new IAPVerifier('IAP_secretkey')
          ...
    

    或者,您可以将更新后的收据保存在与新收据不同的分支中。这样您就可以为新收据单独触发一个函数。

    【讨论】:

      猜你喜欢
      • 2019-10-15
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 2017-07-31
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      • 2017-08-03
      相关资源
      最近更新 更多