跟进意图更新时出现Dialogflow INVALID_ARGUMENT错误

时间:2018-10-04 13:06:33

标签: java dialogflow

当我使用Java SDK对后续意图调用API intents.patch(https://dialogflow.com/docs/reference/api-v2/rest/v2/projects.agent.intents/patch)时,收到错误消息:

  

INVALID_ARGUMENT:只读字段“ root_followup_intent_name”不能   被设置。

我发出的更新请求仅包含意图培训短语的更新(我使用更新掩码“ training_phrases”),我没有修改根跟踪意图。

在根意图上调用相同的API会获得成功响应。这个问题仅在最近几天才出现,但在后续目的上也无法正确解决。

您知道原因吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

意图的name属性是Dialogflow定义的UUID,无法更改(例如718e3349-df8b-4d50-ac72-0de93198512a)。要更新训练短语,您需要使用dialogflow.projects.agent.intents.list之类的电话中已有的训练短语ID。这是有效的dialogflow.projects.agent.intents.patch调用的示例:

PATCH https://dialogflow.googleapis.com/v2/projects/stagent-f2236/agent/intents/c757e598-c44b-485f-bcb4-01c1b0110856?intentView=INTENT_VIEW_FULL&updateMask=trainingPhrases&fields=trainingPhrases
{
 "trainingPhrases": [
  {
   "name": "718e3349-df8b-4d50-ac72-0de93198512a",
   "parts": [
    {
     "text": "updated training phrase text"
    }
   ],
   "type": "EXAMPLE"
  }
 ]
}

Here is an API explorer example进行相同的dialogflow.projects.agent.intents.patch呼叫。请注意,您需要将项目ID(stagent-f2236)的值更改为Dialogflow代理的项目ID,即训练短语ID(718e3349-df8b-4d50-ac72-0de93198512a)和您想要的训练短语的ID更改,并将文本(updated training phrase text更改为您想要将意图训练短语更新为的文本。