gpt4 book ai didi

javascript - 在用户注销后从 Cloud Firestore 中清除用户数据

转载 作者:行者123 更新时间:2023-11-30 13:59:44 24 4
gpt4 key购买 nike

我编写了一个函数,在他退出帐户后从 Cloud Firestore 中清除所有用户数据(集合、子集合和图像)。

为此,我使用了 here 中的代码.

我的代码:

'use strict';

const functions = require('firebase-functions');
const firebase_tools = require('firebase-tools');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
//const bucket = admin.storage().bucket("gs://movere-point.appspot.com/");

exports.recursiveDelete = functions.runWith({
timeoutSeconds: 540,
memory: '2GB'
})
.auth.user().onDelete((user) => {

// const path = data.path;
const path = "/Users/" + user.uid;

console.log(path);

return firebase_tools.firestore.delete(path, {
project: process.env.GCLOUD_PROJECT,
recursive: true,
yes: true,
token: ""
})
.then(() => {
return {
path: path
};
});
});

我从 Firebase 控制台中删除了一个用户,在 Function 的日志中,我得到了错误:

Error
at new FirebaseError (/srv/node_modules/firebase-tools/lib/error.js:9:18)
at module.exports (/srv/node_modules/firebase-tools/lib/responseToError.js:38:12)
at Request._callback (/srv/node_modules/firebase-tools/lib/api.js:39:35)
at Request.self.callback (/srv/node_modules/request/request.js:185:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request.<anonymous> (/srv/node_modules/request/request.js:1161:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage.<anonymous> (/srv/node_modules/request/request.js:1083:12)

帮助解决用户离开程序后删除所有用户数据的问题

最佳答案

您问题中的链接不正确。但是,我猜你引用了这个文档项目:https://firebase.google.com/docs/firestore/solutions/delete-collections

您将在本例中注意到在执行以下操作时使用了 token :

return firebase_tools.firestore
.delete(path, {
project: process.env.GCLOUD_PROJECT,
recursive: true,
yes: true,
token: functions.config().fb.token
})

在您的代码中,您为该标记分配了一个空值,这就是您遇到错误的原因。

您需要在终端中使用 Firebase CLI 执行以下操作:

firebase login:ci

您将获得如下 token 值:

✔  Success! Use this token to login on a CI server:

Z/A01c9zOI74FUgPJm5aEN9d2XyTKPgQkRlePQigxBBCSOUQ_0ktLW4mfAX3x4rFLL

然后需要将其存储为环境配置数据。由于 token 值是 functions.config().fb.token 你应该这样做:

firebase functions:config:set fb.token="Z/A01c9zOI74FUgPJm5aEN9d2XyTKPgQkRlePQigxBBCSOUQ_0ktLW4mfAX3x4rFLL"

然后重新部署 Cloud Functions 就可以了!

关于javascript - 在用户注销后从 Cloud Firestore 中清除用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56524927/

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