当我的用户单击网站上的按钮时,我想用一些用户数据调用第三方API。为此,我想从Firebase的“用户”集合中获取他的数据。我正在尝试使用Admin SDK,但无法管理自己想做的事情。我什至不确定我应该看文档的哪一部分。
我正在使用Firebase模拟器在本地运行代码。
index.ts
import * as functions from 'firebase-functions'
import * as admin from 'firebase-admin'
import getUserData from './getUserData'
admin.initializeApp();
exports.getUserData = functions.https.onCall(getUserData)
getUserData.ts //我包含了一些我尝试过的内容
import { CallableContext } from "firebase-functions/lib/providers/https";
import * as admin from 'firebase-admin'
export default async function getUserData (data : any, context: CallableContext) {
try {
const users = await admin.firestore().collection('users').listDocuments()
const users2 = await admin.firestore().collection('users').get()
const user = await admin.firestore().collection('users').where('userEmail', "==", data.userEmail).get()
const collections = await admin.firestore().listCollections()
console.log('users:- ', users);
console.log('users2:- ', users2);
console.log('user:- ', user);
console.log('collections:- ', collections);
// Call API with user data
return
} catch (err){
console.log('err', err)
return {error: "err/couldnt-create-subscription"}
}
}
前端代码
const getUserData = await firebase
.functions()
.httpsCallable('getUserData')
const result = await getUserData({
userEmail: user.email,
})
我希望它能够使用云功能查询Firebase数据库中的用户数据,然后正常处理这些数据。