我正在尝试从dialogflow
node.js库中拨打createEntityType
,我收到以下错误:
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云端平台上启用关联帐户的所有IAM权限,但这并未解决问题;这些似乎都与Google App Engine有关。有什么地方我可以去操作DialogFlow特定的IAM权限吗?
答案 0 :(得分:0)
发生这种情况是因为我没有正确声明应用程序名称。
在createEntityType
example中,您需要使用方法intentsClient.projectAgentPath(...)
来定义项目代理的URI。
虽然我的项目的高级名称由大写字母组成,但实际的项目ID却没有;这就是Cloud SDK尝试验证的情况。因此,在致电projectAgentPath(...)
时,请使用代理商settings中指定的完全项目ID。
此外,请确保为项目启用了DialogFlow API。您可以访问以下网址来执行此操作:
https://console.developers.google.com/apis/library/dialogflow.googleapis.com/?project=my-project-name