【问题标题】:Permissions error when calling createEntityType调用 createEntityType 时出现权限错误
【发布时间】:2018-05-04 02:33:30
【问题描述】:

我正在尝试从 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 Cloud Platform 上为关联帐户启用所有 IAM 权限,但这并没有解决问题;这些似乎都与Google App Engine 有关。有什么地方我可以去操作特定于 DialogFlow 的 IAM 权限吗?

【问题讨论】:

  • 你是如何通过凭证的。您是否可以分享您的代码的 sn-p 以进行授权??
  • const entityTypesClient = new dialogflow.EntityTypesClient({'keyFilename' : './keys.json'});const intentsClient = new dialogflow.IntentsClient({'keyFilename' : './keys.json'}); 并尝试了开发人员和管理员访问权限,甚至项目名称都是正确的。

标签: node.js permissions google-cloud-platform dialogflow-es


【解决方案1】:

发生这种情况是因为我没有正确声明应用程序名称。

createEntityTypeexample中,您需要使用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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 2013-01-29
    • 2015-07-04
    相关资源
    最近更新 更多