【发布时间】:2019-01-07 23:12:29
【问题描述】:
我正在使用 Ruby on Rails 制作一个 webhook,以将 Dialogflow (api.ai) 和 Telegram 与我的应用程序连接起来。我还在 webhook 上使用 Ngrok。
每次我写到 Telegram 机器人(在 Dialogflow fullfilment 中设置的令牌)时,文本都会发送到 Dialogflow 以创建一个带有我想要的参数的 JSON 请求。这是有效的。
当我想在我的应用程序上接收此 JSON 时,问题就开始了。我收到此错误: Ngrok configuration
这是我的 routes.rb:
# Telegram
post "/#{Chamber.env.dialogflow.route}" => 'chatbot_users#webhook'
这是我的 dialogflow.yml:
dialogflow:
url: 'https://XXXXXac.ngrok.io'
route: 'webhook'
这是我的 chatbot_users_controller
class ChatbotUsersController < ApplicationController
skip_before_filter :verify_authenticity_token
def webhook
p "-----------------------NOT REACHING THIS POINT--------------------"
if request.headers['Content-Type'] == 'application/json'
data = JSON.parse(request.body)
else
data = params.as_json
end
end
end
如果需要更多代码,请询问。 感谢您的建议。
【问题讨论】:
-
如果你运行
rake routes,你会得到什么?,你在那个输出中看到/webhook吗?。 -
webhook POST /webhook(.:format)chatbot_users#webhook
标签: ruby-on-rails webhooks dialogflow-es ngrok