【发布时间】:2019-02-19 06:47:48
【问题描述】:
我正在尝试使用 Dialogflow 的 V2 API 在我的 Dialogflow 代理中获取意图列表,但出现以下错误:
PermissionDenied:“projects/xxxx/agent”上的 403 IAM 权限“dialogflow.intents.list”被拒绝。
我采取了以下步骤:
- 我创建了一个新代理(启用了 V2 API)和一个新的服务帐户。
- 我下载了 JSON 密钥并将我的 GOOGLE_APPLICATION_CREDENTIALS 变量设置为其路径。
以下是我的代码:
import dialogflow_v2 as dialogflow
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="/home/user/folder/service-account-key.json"
client=dialogflow.IntentsClient()
parent = client.project_agent_path('[PROJECT_ID]')
for element in client.list_intents(parent):
pass
我已经创建了各种代理和服务帐户,甚至将角色从管理员更改为客户,但无法找到任何解决方案。我尝试了以下解决方案,但没有'工作
尝试解决方案:DialogFlow PermissionDenied: 403 IAM permission 'dialogflow.sessions.detectIntent'
【问题讨论】:
-
我终于解决了这个问题:我一直在尝试从错误的 GCP 项目创建服务帐户。使其工作的最简单方法是转到聊天机器人代理设置,然后在 General 选项卡中单击 GOOGLE PROJECT 部分中的项目 ID 链接。
标签: google-cloud-platform chatbot dialogflow-es service-accounts