当我尝试接收用户电子邮件的数据时,为什么我的 Firebase 云函数代码会抛出错误
Why is my Firebase cloud function code throwing an error when I try and receive data for users email
我一直在学习如何使用 firebase 云功能,并慢慢了解 HTTPS 请求的工作原理,但是我一直在为用户电子邮件检索数据。
我想检查他们在应用程序中输入的特定电子邮件是否已在我的 firebase 项目中使用,我打算在客户端执行此操作,但了解到如果我通过云功能执行此操作会更安全.
import * as functions from 'firebase-functions'
import * as admin from 'firebase-admin'
import { response } from 'express';
admin.initializeApp()
export const getEmail = functions.https.onRequest((request, response) => {
admin.auth().getUserByEmail(email)
.then(snapshot => {
const data = snapshot.data()
response.send(data)
})
.catch(error => {
//Handle error
console.log(error)
response.status(500).send(error)
})
})
我不断收到错误消息,指出类型 'userRecord' 上不存在数据对象。
错误消息(更新):属性 'data' 在类型 'UserRecord'
上不存在
所以admin.auth().getUserByEmail returns a Promise containing non-null UserRecord.
UserRecord
似乎没有方法 data()
。如果你想得到这个 UserRecord
的 JSON 表示,使用:
const data = snapshot.toJSON()
如果您只需要访问电子邮件,请使用:
const data = snapshot.email
我一直在学习如何使用 firebase 云功能,并慢慢了解 HTTPS 请求的工作原理,但是我一直在为用户电子邮件检索数据。
我想检查他们在应用程序中输入的特定电子邮件是否已在我的 firebase 项目中使用,我打算在客户端执行此操作,但了解到如果我通过云功能执行此操作会更安全.
import * as functions from 'firebase-functions'
import * as admin from 'firebase-admin'
import { response } from 'express';
admin.initializeApp()
export const getEmail = functions.https.onRequest((request, response) => {
admin.auth().getUserByEmail(email)
.then(snapshot => {
const data = snapshot.data()
response.send(data)
})
.catch(error => {
//Handle error
console.log(error)
response.status(500).send(error)
})
})
我不断收到错误消息,指出类型 'userRecord' 上不存在数据对象。
错误消息(更新):属性 'data' 在类型 'UserRecord'
上不存在所以admin.auth().getUserByEmail returns a Promise containing non-null UserRecord.
UserRecord
似乎没有方法 data()
。如果你想得到这个 UserRecord
的 JSON 表示,使用:
const data = snapshot.toJSON()
如果您只需要访问电子邮件,请使用:
const data = snapshot.email