【发布时间】:2017-07-27 09:10:27
【问题描述】:
我正在使用 firebase 云函数创建令牌生成器,并且我想使用 https 触发器来创建令牌,但是我需要在对 url 的调用中包含数据。我知道这是可能的,但我不一定知道该怎么做。
我需要这个,所以我可以在我的函数中为某些变量设置值。
所以最终的 url 在伪代码中可能看起来像这样:
https://tokengen/identity=/room=
在这里,身份和房间是我想在调用函数时为变量包含的两个值。
重申一下,
我知道您可以使用以下方式请求数据:
exports.token = functions.https.onRequest((request, response) => {
但是我如何将数据与 https 调用一起包含为变量。一个例子将不胜感激。任何答案、建议或参考资料也是如此。
编辑:
这是更新后的代码,
exports.tokenGenerator = functions.https.onRequest((request, response) => {
const { identity, roomName } = request.query;
const AccessToken = require('twilio').jwt.AccessToken;
const VideoGrant = AccessToken.VideoGrant;
const twilioAccountSid = '1xxxxxxxxxx';
const twilioApiKey = '1xxxxxxxxxx';
const twilioApiSecret = '1xxxxxxxxxx';
function generateToken(identity, roomName) {
const videoGrant = new VideoGrant({
room: roomName
});
const token = new AccessToken(twilioAccountSid, twilioApiKey, twilioApiSecret);
token.addGrant(videoGrant);
token.identity = identity;
return token.toJwt();
}
response.send(token.toJwt());
});
当我使用 URL 时,它返回 Error: could not handle the request
【问题讨论】:
-
在此处查看此示例:github.com/firebase/functions-samples/tree/master/… 它显示了如何包含和访问查询的示例
标签: node.js firebase google-cloud-functions