[英]Firebase Functions: Variables undefined onCall
我正在做一個項目,我嘗試將變量從我的 Angular 前端傳遞到我的 Firebase 后端。 但是我在下面的代碼中遇到了一個問題。 我正在嘗試使用存儲在數據數組中的變量,但在 Firebase 控制台中,它們顯示為未定義。 我試過制作一個nodeJS項目並運行這個代碼,它似乎工作正常......可能是什么問題?
PS 我也嘗試過傳遞 object ,但結果是一樣的。
這是我的函數文件夾的 index.ts:
import * as nodemailer from 'nodemailer';
// // Start writing Firebase Functions
// // https://firebase.google.com/docs/functions/typescript
//
export const sendMail = functions.https.onCall((data) => {
console.log(data.text);
const name = data[0];
const email = data[1];
const phoneNumber = data[2];
const title = data[3];
const body = data[4];
const transporter = nodemailer.createTransport({
host: "smtp.gmail.com",
port: 465,
secure: true,
auth: {
user: 'xxxxxxx',
pass: 'xxxxxxxx',
},
});
transporter.sendMail({
from: 'xxxxxxx',
to: "xxxxxxxx",
subject: title,
html: "<b>Message send by:<br></b>" + email + "<br><br>" + body,
}).catch((_e: Error) => {
const e:Error = _e
console.log(e);
});
});
傳遞給可調用雲函數的參數是命名的,而不是排序的。 因此,除非您以某種方式將參數命名為0
和1
,否則您的查找不太可能有效。
我建議檢查調用此 Cloud Function 的代碼,並在此處也使用該代碼中使用的名稱。 如果您在調用代碼中使用了名稱name
和email
,則 Cloud Function 將如下所示:
const name = data.name;
const email = data.email;
如果您想在不查看調用它的代碼的情況下驗證將哪些參數傳遞給雲 Function,您可以使用以下命令記錄數據 object:
console.log(JSON.stringify(data));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.