Firebase Cloud Functions HTTPS 中的参数
Posted
技术标签:
【中文标题】Firebase Cloud Functions HTTPS 中的参数【英文标题】:Parameters in Firebase Cloud Functions HTTPS 【发布时间】:2017-11-28 09:46:03 【问题描述】:如何在 Firebase 中为我的 HTTPS 函数设置一些参数? 我正在构建一个应用程序,在构建应用程序的同时,我设法增加了我的邮件列表。现在我想发送邮件,但我想确保他们可以在我发送任何内容之前取消订阅。
我在所有事情上都使用 Firebase,并且我设法创建了一个功能,可以将邮件发送到每个订阅的邮件。
我还可以“取消订阅”特定邮件,但这是硬编码的,根本不是最佳解决方案。
exports.testUnsub = functions.https.onRequest((req, res) =>
var db = admin.database();
var ref = db.ref("mailingList/-KhBOisltrOmv57Mrzus");
ref.child("subscribed").set(false);
console.log("-KhBOisltrOmv57Mrzus has unsubscribed from mailing list.");
);
在我发送的邮件中有一个 URL,它触发了这个 HTTPS 功能。我想在该 URL 上设置一个参数,使其变为动态的。比如:
https://us-central1-<project-id>.cloudfunctions.net/testUnsub?listID=xxxxxxxxxxx
我正在寻找任何能让我朝着正确方向前进的东西。
【问题讨论】:
【参考方案1】:重要的是要知道 https 函数的 req 和 res 参数是 Express.js Request 和 Response 对象。
Request 对象包含有关来自客户端的请求的所有数据,包括客户端在 URL 中发送的 query。格式为req.query.name_of_the_parameter
。
【讨论】:
但是当我使用req.query.titl
时,我得到“您的客户没有获取 URL 的权限”
Doug 有没有办法使用 Cloud Functions 来定义和提取路由参数,类似于 Express,您可以在其中执行 app.get('/users/:userId/books/:bookId', function (req, res) ...
之类的操作?
@PatNeedham 您可以查看此github link 或firebase doc,它利用firebase 功能作为普通快速路由器。这样您就可以按照自己喜欢的方式匹配端点。以上是关于Firebase Cloud Functions HTTPS 中的参数的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 中为 Firebase 使用 Cloud Functions
Cloud Functions for Firebase 超时
Firebase Cloud Functions https.onCall 完成状态码:204
Cloud Functions for Firebase onWrite 超时