Facebook Messenger平台.使用SSL设置webhook

Mr.*_*r.D 19 ssl facebook facebook-messenger

最后,Facebook为他们的信使推出了API for messenger API.这将允许我们创建聊天机器人.

在入门指南中,我需要设置webhook.这需要驻留在特定域中的Web服务器,并且必须使用SSL连接.

我有VPS,它有静态IP.我制作了自签名证书并创建了使用此证书的简单Node JS Web服务器.首先,我需要验证webhook的令牌:

app.get('/webhook/', function (req, res) {
  if (req.query['hub.verify_token'] === '<validation_token>') {
      res.send(req.query['hub.challenge']);
  }
  res.send('Error, wrong validation token');
})
Run Code Online (Sandbox Code Playgroud)

然后我启动了这个服务器应用程序,并在我的Facebook应用程序仪表板中单击验证并保存按钮.

它抛出了这个错误信息:

截图

这意味着Facebook不想接受我的自签名证书.

这带来了几个问题:

我是否需要使用仅由证书颁发机构提供的 SSL证书才能使用facebook messenger?

使用Facebook Messenger比Telegram困难得多.

ndr*_*x42 9

对于刚测试,您可以使用localtunnel.https://localtunnel.me/

  • @Ved只需添加"-s <subdomain>",这样域保持不变,您不必更新Webhook配置. (2认同)

Hun*_*ran 7

我将我的机器人部署到Heroku,他们很快就提供了HTTPS连接.对于本地开发,我使用ngrok,它也支持HTTPS转发.

Ngrok

对于新来者,我为那些想要开始使用Facebook Messenger(Bot)API的人编写了这个小教程,从第一行代码到Heroku部署.我发现Heroku非常适合这样的项目,因为我使用的是Python flask+ gunicorn,我需要的所有部署才需要花费5分钟来设置,Heroku负责其余的工作.


sat*_*god 6

您可以使用cloudflare来获取https而不是自签名.或者您可以使用https://letsencrypt.org