如何在typescript中使用dialogflow sdk?

如何在typescript中使用dialogflow sdk?,typescript,dialogflow-es,typescript-typings,Typescript,Dialogflow Es,Typescript Typings,我正在使用angular 6创建聊天机器人应用程序,我想使用dialogflow sdk。因为sdk仅用于javascript,所以我还添加了dialogflow的类型 package.json: dependencies: { [...] "@types/dialogflow": "0.6.3", "dialogflow": "0.6.0 } 我尝试了许多不同的进口产品: import { Sess

我正在使用angular 6创建聊天机器人应用程序,我想使用dialogflow sdk。因为sdk仅用于javascript,所以我还添加了dialogflow的类型

package.json:

dependencies: {
    [...]
    "@types/dialogflow": "0.6.3",
    "dialogflow": "0.6.0
}
我尝试了许多不同的进口产品:

import { SessionsClient } from 'dialogflow';
import { SessionsClient, v2 } from 'dialogflow';
import * as dialogflow from 'dialogflow';
import 'dialogflow'
但我总是犯错误

找不到模块

当我尝试使用它时

this.dialogflowSessionsClient = new SessionsClient();
this.dialogflowSessionsClient = new v2.SessionsClient();
this.dialogflowSessionsClient = new dialogflow.SessionsClient();
IDE可以解析引用。那么,我做错了什么

更新

我在一个新的angular项目中也尝试过,现在我有了更好的错误消息。不幸的是,这对我也没有帮助

./node\u modules/dialogflow/src/v2/agents\u client.js

未找到模块:错误:无法解析“/Users/[my project path]/node\u modules/dialogflow/src/v2”中的“/agents\u client\u config”


我也在做同样的事情,这里有一个前端JS客户端库。我所要做的就是使用npm安装它,然后将它导入到我的Ionic项目中,但是维护很少,所以老实说,我建议使用更新的或其他一些好的REST库,并使用参考文档进行REST调用

谷歌描述了他们如何将REST调用映射到http中的gRPC协议,他们称之为“转码”


我知道这比使用客户端库更困难,但老实说,这比使用支持最少的库(至少在有更好维护的客户端库之前)更有价值。

谢谢你的回答,@Jonathan。我在用你建议的图书馆。它工作得很好,但我需要V2的功能,如发送自定义数据。我也试着自己写。然后我得到了CORS错误。()你也收到了吗?刚刚发现我们不应该直接从前端给DF打电话,这也解释了CORS的问题。这适用于V1和V2,我现在正在构建一个后端来重定向客户端请求,因为显然我们无论如何都应该使用服务器到服务器的身份验证,OAuth样式被称为“双腿”身份验证,请参见以下链接:简言之,我的流程将是:用户->我的后端->DF->我的后端->用户,您可以通过电子邮件发送给我jbdoster@gmail.comI因为它增加了延迟,而且似乎没有必要,所以我们不得不使用另一个后端。但我现在也相信没有别的办法了。谢谢你的帮助,乔纳森!你想在你的答案中添加这个额外的后端提示吗?我最终使用了Firebase函数,来了解Dialogflow内嵌编辑器已经在使用这个函数了。现在一切都有意义了。因此,我们写出firebase函数,然后导出它们,客户端(电话和浏览器)将使用firebase函数告诉我们要使用的URL调用这些firebase函数,因此firebase函数处理来自客户端的请求和对客户端的响应。