使用 Node.js 删除 Dialogflow 实体类型
Deleting Dialogflow entity type using Node.js
我正在尝试通过 node.js 删除实体类型。
我的方法是,要删除的实体 name/s 将来自 JSON 文件。然后,我将列出我的代理上的现有实体,以查找要删除的实体的实体 ID。然后我会发送删除它的请求,但是什么都没有被删除。
这是我目前得到的结果:
//entitytodelete is the JSON file containing the entity name
entitytodelete.forEach(function(entityParams) {
entityClient
.listEntityTypes({parent: projectAgentPath})
// look for entity ID of entity type to be deleted
.then((responses) => { const resources = responses[0];
for (let i = 0; i < resources.length; i++) {
const entityTypes = resources[i];
if (entityTypes.displayName === entityParams) {
return entityTypes;
}
}})
.then((entityParams) => {
console.log('The ID of the entity to delete is: ', JSON.stringify(entityParams.name));
const request = {
parent: projectAgentPath,
entityValues : [entityParams.name],
};
return entityClient.batchDeleteEntityTypes(request);
})
根据与@JoshMcD 的对话,将键 entityValues
更改为 entityTypeNames
有效,因为方法 batchDeleteEntityTypes() 旨在删除实体类型 .
查看示例代码:
const request = {
parent: projectAgentPath,
entityTypeNames : [entityParams.name],
};
return entityClient.batchDeleteEntityTypes(request);
我正在尝试通过 node.js 删除实体类型。 我的方法是,要删除的实体 name/s 将来自 JSON 文件。然后,我将列出我的代理上的现有实体,以查找要删除的实体的实体 ID。然后我会发送删除它的请求,但是什么都没有被删除。
这是我目前得到的结果:
//entitytodelete is the JSON file containing the entity name
entitytodelete.forEach(function(entityParams) {
entityClient
.listEntityTypes({parent: projectAgentPath})
// look for entity ID of entity type to be deleted
.then((responses) => { const resources = responses[0];
for (let i = 0; i < resources.length; i++) {
const entityTypes = resources[i];
if (entityTypes.displayName === entityParams) {
return entityTypes;
}
}})
.then((entityParams) => {
console.log('The ID of the entity to delete is: ', JSON.stringify(entityParams.name));
const request = {
parent: projectAgentPath,
entityValues : [entityParams.name],
};
return entityClient.batchDeleteEntityTypes(request);
})
根据与@JoshMcD 的对话,将键 entityValues
更改为 entityTypeNames
有效,因为方法 batchDeleteEntityTypes() 旨在删除实体类型 .
查看示例代码:
const request = {
parent: projectAgentPath,
entityTypeNames : [entityParams.name],
};
return entityClient.batchDeleteEntityTypes(request);