我正在尝试从 Windows Java 应用程序访问 Google DialogFlow。我有环境变量,GOOGLE_APPLICATION_CREDENTIALS
,正确设置后我可以调用其他 Google API。但是,当我打电话时:
DetectIntentResponse response = sessionsClient.detectIntent(session, queryInput);
我收到 grpc 异常:
PERMISSION_DENIED:“projects/newagent-a0ef5/agent”上的 IAM 权限“dialogflow.sessions.detectIntent”被拒绝。会话路径:projects/NewAgent/agent/sessions/xxxx
“newagent-a0ef5”是我的流程的项目 ID。 “xxxx”只是一个随机会话 ID 令牌。
我明白我必须启用dialogflow.sessions.detectIntent
访问,但我不知道在哪里。我使用该值创建了一个自定义角色,并将其添加到与我的流程关联的三个 IAM 账户。我还启用了 DialogFlow API。
有谁知道我在哪里添加这个缺少的权限?
我正确执行了所有 IAM 步骤,但我传递了错误的项目 ID 来检测意图。所以我想有几件事需要检查......
- 确保项目 ID 正确。您的会话路径应为“projects//agent/sessions/”。
- 确保您使用的服务帐户具有 Dialogflow API 客户端角色。
- 尝试让它工作API浏览器 https://developers.google.com/apis-explorer/?hl=en_US#p/dialogflow/v2/dialogflow.projects.agent.sessions.detectIntent
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)