Dialogflow es Dialogflow不发送任何数据

Dialogflow es Dialogflow不发送任何数据,dialogflow-es,actions-on-google,Dialogflow Es,Actions On Google,我正在为谷歌助手构建一个机器人。我已经为一些目的启用了实现部分。对话框流将请求发送到实现url。执行url并返回硬编码响应。我可以在助手模拟器中看到响应。除了一件事,一切都很好。请求为空。我无法访问请求中应该存在的字段 我从python代码中使用post请求访问了相同的url,它显示了参数。因此,代码中没有任何问题。我想我缺少一些配置选项 我希望帖子正文采用以下格式: POST body: { "responseId": "ea3d77e8-ae27-41a4-9e1d-174bd461b

我正在为谷歌助手构建一个机器人。我已经为一些目的启用了实现部分。对话框流将请求发送到实现url。执行url并返回硬编码响应。我可以在助手模拟器中看到响应。除了一件事,一切都很好。请求为空。我无法访问请求中应该存在的字段

我从python代码中使用post请求访问了相同的url,它显示了参数。因此,代码中没有任何问题。我想我缺少一些配置选项

我希望帖子正文采用以下格式:

 POST body:
{
  "responseId": "ea3d77e8-ae27-41a4-9e1d-174bd461b68c",
  "session": "projects/your-agents-project-id/agent/sessions/88d13aa8-2999-4f71-b233-39cbf3a824a0",
  "queryResult": {
    "queryText": "user's original query to your agent",
    "parameters": {
      "param": "param value"
    },
    "allRequiredParamsPresent": true,
    "fulfillmentText": "Text defined in Dialogflow's console for the intent that was matched",
    "fulfillmentMessages": [
      {
        "text": {
          "text": [
            "Text defined in Dialogflow's console for the intent that was matched"
          ]
        }
      }
    ],
    "outputContexts": [
      {
        "name": "projects/your-agents-project-id/agent/sessions/88d13aa8-2999-4f71-b233-39cbf3a824a0/contexts/generic",
        "lifespanCount": 5,
        "parameters": {
          "param": "param value"
        }
      }
    ],
    "intent": {
      "name": "projects/your-agents-project-id/agent/intents/29bcd7f8-f717-4261-a8fd-2d3e451b8af8",
      "displayName": "Matched Intent Name"
    },
    "intentDetectionConfidence": 1,
    "diagnosticInfo": {},
    "languageCode": "en"
  },
  "originalDetectIntentRequest": {}
}
但是当我使用print(request.post)打印post数据时,实际的post请求显示为

还有一件事:对话框流是否将操作附加到实现url的末尾?如果是这样,我将不得不单独处理逻辑。我做这件事时没有考虑动作名称。但是我的很多东西都被黑客入侵了,所以我只是想确定一下

另一方面,dialogflow足够好吗?它在一些类似于培训内容的示例上工作得很好。它需要多少个训练样本才能正常工作?dialogflow中使用的底层算法是什么?或者我应该使用实现url并自己处理所有事情?我倾向于后者。我对现有的聊天机器人没有太多信心


非常感谢您的帮助。

如果要触发的是回退意图,那么您将无法获得任何参数,因为这意味着没有其他匹配的参数。

得到了它。使用请求。正文。这就解决了问题。然后使用json.loads解析并访问参数

您能否更新您的问题以提供详细信息?目前,很难理解并帮助您诊断您的问题。包括您期望触发和正在触发的意图的屏幕截图、您正在接收的JSON以及您期望和缺少的参数的详细信息将帮助我们帮助您。除非您说post请求中没有任何内容,您的第二个JSON正文没有进入问题更新。它不仅仅是用于回退目的。你的问题标题上写着“撤退意图”,这是混乱的一部分。