如何使用firebase https触发器功能

时间:2017-07-26 17:48:29

标签: node.js firebase google-cloud-functions

我正在使用firebase云功能创建令牌生成器,我想使用https触发器来创建令牌,但是我需要在对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());

});

当我使用网址时,它返回Error: could not handle the request

1 个答案:

答案 0 :(得分:1)

你可以这样做 -

https://yourFB.cloudfunctions.net/token?identity=12&room=12

你可以像 -

一样使用它
exports.token = functions.https.onRequest((request, response) => {
    const { identity, room } = request.query;
    ...
});

希望这有帮助。