gpt4 book ai didi

python - 对话流 : 403 IAM permission 'dialogflow.sessions.detectIntent'

转载 作者:行者123 更新时间:2023-12-03 17:14:51 26 4
gpt4 key购买 nike

在阅读了数小时的文档和资源后,我请求您的帮助。

我在 API V2 项目“xxx1”上有一个对话流代理

我为“xxx1”创建了一个服务帐户并附加了角色“Dialogflow API Client”

我下载了带有凭据的 JSON 文件。

我在 python 中创建 session :

session = dialogflow.SessionsClient(
{
'credentials': {
'client_email': 'serviceaccountemail...',
'private_key': '-----BEGIN PRIVATE KEY----- ...',
},
'project_id': 'xxx1',
}
)

这里没有问题。

如果我在运行时调用 Dialogflow API,我会收到:
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
status = StatusCode.PERMISSION_DENIED
details = "IAM permission 'dialogflow.sessions.detectIntent' on 'projects/xxx1/agent' denied."
debug_error_string = "{"created":"@1534320091.581347198","description":"Error received from peer","file":"src/core/lib/surface/call.cc","file_line":1095,"grpc_message":"IAM permission 'dialogflow.sessions.detectIntent' on 'projects/xxx1/agent' denied.","grpc_status":7}"

对我来说,这听起来好像权限不够。但是我对其他代理使用了相同的角色,并且工作正常。

最佳答案

我在将 Dialogflow 与外部客户端集成时遇到了同样的问题。

我的案例的根本原因是,即使我为外部客户端创建了服务帐户,但我忘记添加服务帐户并提供“Dialogflow API 管理员”角色。

我如何解决:在 GCP 项目中,转到 IAM > 单击顶部的“+ADD”按钮并搜索您要授予权限访问的服务帐户,选择角色类型“Dialogflow API Admin”(或编辑角色以授予 Dialogflow API 管理员(如果您之前已将服务帐户添加为客户角色)

关于python - 对话流 : 403 IAM permission 'dialogflow.sessions.detectIntent' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51855169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com