从服务器向 Dialogflow 发送请求

Sending request to Dialogflow from server

我通过将它集成到 Facebook 创建了一个 Dialogflow Messenger 机器人。现在 FB 向 Dialogflow 发送请求,Dialogflow 向 FB 发送响应。

FB --> Dialogflow
Dialogflow --> FB

我想把我的服务器放在中间进程中。这样 FB 请求就会到达我的服务器,我的服务器会向 Dialogflow 发送请求。

FB --> My Server --> Dialogflow
Dialogflow --> My Server --> FB

这可能吗?如果有,有没有我可以使用的 PHP 库或教程?

Dialogflow 支持向服务器发送数据。

您需要转到项目的 Fulfillment 选项卡并启用 Webhook

在那里你可以设置 URL 它应该发送数据的地方,包括 headers 和你的服务器和 Dialogflow 之间的身份验证


将 Dialogflow 连接到 Facebook 后,所有对话都将通过 Dialogflow 进行路由,因此 Webhook 是您进行交流的最佳机会。之后,您只需 return 对 Dialogflow 的回复,它就会为您发送

您可以从 Dialogflow 的文档中阅读有关 Fulfillment 的更多信息:https://dialogflow.com/docs/fulfillment

对于未来的读者,这是我发现满足我的要求的方式。

在这里我希望我的服务器充当中间人并识别意图。

FB --> My Server --> Dialogflow
Dialogflow --> My Server --> FB

在 Dialogflow v2 中,您可以使用 DitectIntent 来识别 Intent。 https://dialogflow.com/docs/reference/api-v2/rest/v2/projects.agent.sessions/detectIntent

此处提供适用于不同编程语言的 SDK。 https://dialogflow.com/docs/sdks#detect_intent_and_agent_apis