无法使用python dialogflow客户端在对话框流中创建知识库。

在IAM服务帐户中授予dialogflow的管理员权限。

我已将Dialogflow管理员角色授予了我正在使用的客户端邮件。

我使用了为服务帐户生成的json密钥,并将其导出为环境变量

这是我使用的代码:

import dialogflow_v2beta1 as dialogflow

    client = dialogflow.KnowledgeBasesClient()
    project_path = client.project_path(project_id)

    knowledge_base = dialogflow.types.KnowledgeBase(
    display_name=display_name)
    response = client.create_knowledge_base(project_path, knowledge_base)



我可以在已创建的知识库中创建/删除/列出文档,但是创建知识库会引发此错误

error: google.api_core.exceptions.PermissionDenied: 403 IAM permission 'dialogflow.knowledgeBases.create' on 'projects/api_test2' denied

最佳答案

问题似乎出在我用来处理知识库的服务帐户上,并且到目前为止,显然还没有一种方法可以为对话框流python客户端提供处理知识库的权限(请纠正我,如果我我错了)。

我发现的唯一解决方法是使用curl操作处理知识库。

使用curl在知识库上进行操作后,我决定将所有python客户端代码更改为curl和子流程。与python客户端相比,它非常简单。

关于python - 使用Dialogflow Python API在Dialogflow代理中创建知识库的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57181311/

10-12 22:46