在节点机器定义中使用带有特殊字符的字符串

Use a string with special characters in a node machine definition

我是 SailsJS 的新手,我正在尝试了解如何让一切正常工作! :)

我似乎无法弄清楚的最后一个问题是如何为特殊端点定义一些端点。

我正在设置 Messenger 机器人 webhook。为了验证 webhook,Facebook 向我的 URL 发送了一个带有参数 hub.modehub.verify_tokenhub.challenge 的 GET 请求,如您所见,其中包含一个 . 在他们的名字里。

由于这一点,我不知道如何在我的动作定义中定义这些参数:

module.exports = {


  friendlyName: 'Webhook check',


  description: 'Action to return succes on GET call of webhook URL',


  inputs: {
      hub: {
        type: 'ref'
      }
  },


  exits: {
    success: {
      responseType: ''
    },
    notValidated: {
      statusCode: 403
    }
  },


  fn: async function (inputs, exits) {
    console.log(this.req.param('hub.mode'));
    console.log(this.req.allParams())
    if (inputs.hub_mode === 'subscribe' && inputs.hub_verify_token === sails.config.facebook.verifyToken) {
      return exits.success(inputs.hub_challenge);
    } else {
      return exits.notValidated();
    }
  }


};

我仍然可以使用直接访问 Express 请求对象(例如 this.req.param('hub.mode'))来访问参数,但这不是正确的方法,因为它打破了节点机器规范的想法强调函数的定义。

有没有人知道如何结合 Facebook 选择的机器即动作语法和参数?

提前致谢:)

正如在节点机 Google 组中与 Mike McNeil 讨论的那样,实际上不可能在节点机规范中映射这种样式的参数。

https://groups.google.com/forum/?hl=en#!topic/node-machine/uQ3BdNR149I

尽管如此,Mike McNeil 创建了一张 Trello 卡片,以查看如何将机器即操作 link 中的这个用例集成到 SailsJs 框架中。