gpt4 book ai didi

javascript - Firebase 的触发器功能不起作用

转载 作者:行者123 更新时间:2023-11-28 17:35:56 25 4
gpt4 key购买 nike

我想使用 Firebase 云函数通过触发器从外部网址获取数据。但是,获取数据和更新特定节点不起作用。

出了什么问题?我的 Firebase 计划是 Blaze。

函数错误:print screen 1

数据库错误:print screen 2

外部数据结构 - JSON

{
"results": [
{
"details_a": "15+ Heavy duty truck comprising of T800 ...",
"equipment_id": "ChIJW6AIkVXemwARTtIvZ2xC3FA"
}
],
"status": "OK"
}

index.js

'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const request = require('request');
exports.setDetails = functions.database.ref('/equipment/{pushId}').onWrite((event) => {
if (event.data.previous.exists()) { return }
if (!event.data.exists()) { return }
const post = event.data.val();
if (post.details){ return };
const number = post.number;
const details = '';
request.get({
uri: 'https://api.domain.com/json?partnumber=' + number,
json: true,
headers: {
'Content-Type' : 'application/json' ,
}
}, (error, response) => {
if (error) {
console.error(error);
} else {
details = response.results[0].details_a;
console.log('Response: ', response.headers);
res.status(200).end('OK');
}
});
return admin.database().ref('/equipment/{pushId}').update({number: number, details: details});
});

最佳答案

我遇到了这个问题,我注意到我正在引用实时数据库而不是 Firestore。当我纠正这个问题时,一切都开始正常工作。

exports.onActionsWrite = functions.firestore
.document('/actions/{id}')
.onWrite(event => {
console.log('I'm here!');
// Do something...
return null;
});

您还可以查看 firestore 文档 https://firebase.google.com/docs/functions/firestore-events

关于javascript - Firebase 的触发器功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49122518/

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