我正在尝试从 dialogflow
调用 createEntityType
node.js库,我收到以下错误:
Failed to create size entity type: { Error: IAM permission 'dialogflow.entityTypes.create' on 'projects/My-Project-Name/agent' denied.
at /home/my/path/to/My-Project-Name/node_modules/grpc/src/client.js:554:15
code: 7,
metadata: Metadata { _internal_repr: { 'grpc-server-stats-bin': [Array] } } }
这是在我完成有关启用 Application Default Credentials 的教程之后的结果。 ,这似乎在大部分情况下都有效。
我已尝试在 Google Cloud Platform 上启用关联帐户的所有 IAM 权限,但这并没有解决问题;这些似乎都与 Google App Engine 有关。我可以在某个地方操作特定于 DialogFlow 的 IAM 权限吗?
发生这种情况是因为我没有正确声明应用程序名称。
在createEntityType
中example ,您需要使用 intentsClient.projectAgentPath(...)
方法来定义项目代理的 URI。
虽然我的项目的高级名称由大写字母组成,但实际的项目 ID 并非如此; Cloud SDK 尝试验证的正是这一点。因此,在调用 projectAgentPath(...)
时,请使用代理的 settings 中指定的准确项目 ID。 .
此外,请确保为您的项目启用 DialogFlow API。您可以通过访问以下 URL 来执行此操作:
https://console.developers.google.com/apis/library/dialogflow.googleapis.com/?project=my-project-name
我是一名优秀的程序员,十分优秀!