В настоящее время я пытаюсь обновить агента Dialogflow с помощью API REST V2, доступного по адресу https://cloud.google.com/dialogflow/docs/reference/rest/v2/projects/agent
Согласно документации, параметр updateMask должен быть равен тому, какое свойство пользователь хочет обновить. Каждый другой параметр, кроме «selectedLanguageCodes», успешно обновляет ресурс агента (например, работает displayName). supportLanguageCodes отличается от других свойств, так как является массивом. Обновление этого свойства просто «исправляет» его, просто добавляя новые значения к начальному значению массива и не обновляя его.
Например, перейдите в проводник API на https://cloud.google.com/dialogflow/docs/reference/rest/v2/projects/agent, установите правильный родительский элементзначение (например, «projects / project-name»), updateMask: supportLanguageCodes Тело запроса:
{
"supportedLanguageCodes": ["nl"]
}
возвращаемый ресурс агента не обновляется (свойство supportLanguageCodes не обновляется до значения «nl», а просто исправляется),новые значения, например. 'de' добавляется к существующему свойству массива, так что новые supportLanguageCodes - это не "nl", а "es", "en", "fr", "nl", "de"
здесь агентРесурс, возвращаемый API:
{
"parent": "projects/buxkcczs",
"displayName": "test",
"defaultLanguageCode": "it",
"supportedLanguageCodes": [
"es",
"en",
"fr",
"nl",
"de"
],
"timeZone": "America/Los_Angeles",
"description": "description",
"matchMode": "MATCH_MODE_HYBRID",
"apiVersion": "API_VERSION_V2",
"tier": "TIER_STANDARD"
}
Что я ожидаю:
{
"parent": "projects/buxkcczs",
"displayName": "test",
"defaultLanguageCode": "it",
"supportedLanguageCodes": [
"nl"
],
"timeZone": "America/Los_Angeles",
"description": "description",
"matchMode": "MATCH_MODE_HYBRID",
"apiVersion": "API_VERSION_V2",
"tier": "TIER_STANDARD"
}