Sha*_*baz 6 firebase firebase-authentication google-cloud-functions google-cloud-firestore
我有一个 Firebase 云(可调用)函数,它删除一个 Firestore 文档和所有子实体,包括子集合。我通过稍微修改他们的文档中提供我的 firebase 的功能来做到这一点:https : //firebase.google.com/docs/firestore/solutions/delete-collections
重要的一点在这里:
...
return firebase_tools.firestore
.delete(path, {
project: process.env.GCLOUD_PROJECT,
recursive: true,
yes: true,
token: functions.config().fb.token
})
...
Run Code Online (Sandbox Code Playgroud)
当我从我的网页调用此函数时(在用户验证之后),Web 客户端会抛出一个错误,表明远程函数导致了错误。在 firebase 控制台中,我发现了这个错误:
Unhandled error TypeError: Cannot read property 'token' of undefined
这是指向在上面的代码段的行:token: functions.config().fb.token。.fb空值也是如此。
这里发生了什么?
在网上搜索可以告诉我一些有关login:ci命令行的信息,但是尽管我是在我的笔记本电脑上开发它,但在部署应用程序时,将没有命令行。该网站将在 Firebase 托管上。它调用 firebase 云函数。我正在使用 firebase auth 进行用户身份验证(电子邮件/密码)并将数据存储在 firestore 中。
此外,我已经在我的命令行上启用了,因为我可以做得firebase deploy --only functions很好。我如何确保functions.config().fb不返回空值?
如果需要,您可以将令牌字符串直接粘贴到代码中,替换functions.config().fb.token. 该页面的作者可能认为您不想这样做,因此他们建议您应该为它创建一个配置项。
如果您不想粘贴它,并且您实际上想要配置函数以从configuration获取该值,则必须使用functions:config:set在命令行上设置配置,如下所示:
firebase functions:config:set fb.token=<YOUR-TOKEN>
Run Code Online (Sandbox Code Playgroud)
再次部署您的函数,以便它可以使用该值。
如果您发现文档令人困惑,我建议您使用页面右上角的“发送反馈”链接。
| 归档时间: |
|
| 查看次数: |
641 次 |
| 最近记录: |