【问题标题】:How to integrate Dialogflow v2 with angular 7如何将 Dialogflow v2 与 Angular 7 集成
【发布时间】:2019-07-31 17:39:48
【问题描述】:

我正在使用 Dialogflow 构建聊天机器人,并使用内联编辑器将云功能部署到 Firebase。

但是,与 V1 相比,没有 JavaScript SDK 可以与 API 交互。我被卡住了,我在文档中找不到任何有用的东西。

您能否分享一些关于如何使用 Angular 或任何 j 框架与对话框流 API 交互的示例代码?

谢谢!

我尝试阅读 dialogflow 文档,尤其是关于 http 请求的部分。我尝试了一些带有简单 http post 请求的代码,但没有成功。

stackoverflow 上没有具体的例子。

【问题讨论】:

标签: angular7 dialogflow-es


【解决方案1】:

您可以使用 Dialogflow Rest API, 您需要使用Google cloud sdk 生成访问令牌(范围:云平台,对话流)

  public df_client_call(request) {
    var config = {
      headers: {
        'Authorization': "Bearer " + this.accessToken,
        'Content-Type': 'application/json; charset=utf-8'
      }
    };   
   return this.http.post(
      'https://dialogflow.googleapis.com/v2/projects/' + environment.project_id +
      '/agent/sessions/' + sessionId + ':detectIntent',
      request,
      config
    )
  }

request你必须通过,

{
    queryInput: {
        text: {
            text: action.payload.text,
            languageCode: 'en-US',
        },
    }
}

sessionId => 用户的唯一 ID

const googleAuth = require('google-oauth-jwt');

getToken: async function() {
    return new Promise((resolve) => {
        googleAuth.authenticate(
            {
                email: config.googleClientEmail,
                key: config.googlePrivateKey,
                scopes: ['https://www.googleapis.com/auth/cloud-platform'],
            },
            (err, token) => {
                resolve(token);
            },
        );
    });
},

【讨论】:

  • 非常感谢您的回答,但是我正在使用部署到 firebase 的云功能,我不希望我的用户被登录!你知道如何实现它吗?
  • 会话 id 只需要对您可以定义的用户来说是唯一的
  • 好的,很好理解,只是最后一个问题。我在安装 gcloud sdk 以生成访问令牌时遇到一些问题,是否有像 nodejs 中的任何包来生成令牌? gist.github.com/weikangchia/d5bb0aa1466407c86692ba00d8f16332 ?非常感谢
  • 感谢您的帮助。为此,我们需要在使用 firebase 时设置另一台服务器。我会尝试安装 gcloud 并试一试。你可以看到一个 react-native 实现的例子 npmjs.com/package/react-native-dialogflow !感谢您的帮助:)
  • @NikhilSavaliya 你有同样的演示吗?
猜你喜欢
  • 2019-01-27
  • 2018-11-05
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-18
  • 2023-02-12
  • 1970-01-01
相关资源
最近更新 更多