使用 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);