【问题标题】:How to use Dialogflow Api.ai V2 in ionic App如何在 ionic App 中使用 Dialogflow Api.ai V2
【发布时间】:2020-11-15 22:03:35
【问题描述】:

我创建了一个 Dialogflow V2 代理并尝试将其与 ionic 4 App 集成。

遵循的步骤

  1. 创建了一个服务帐户并从谷歌控制台创建了一个 JSON 密钥文件。
  2. 添加了 ENV 变量 GOOGLE_APPLICATION_CREDENTIALS 的路径
  3. 还运行以下命令进行 gcloud 身份验证
    1. gcloud auth 应用程序默认登录
    2. gcloud auth 应用程序默认打印访问令牌
  4. 我什至可以使用 google jwt 令牌创建访问令牌

这里的问题是,当我在我的 ionic 应用程序甚至邮递员中使用相同的访问令牌时,我得到 401 未经授权的无效访问令牌错误

我已按照以下链接创建 Ionic 应用程序 https://www.yuribacciarini.com/integrate-dialogflow-chatbot-on-ionic-app/

API 调用:

我正在使用本机 HTTP 调用

import { HTTP } from '@ionic-native/http/ngx';

 private nativeHttp: HTTP

let encUrl = "https://dialogflow.googleapis.com/v2/projects/id/agent/sessions/id:detectIntent";

  return from(this.nativeHttp.post("URL", data, headers)
        .then(res => {   
          console.log(res); //Returning [object object]
           console.log(JSON.stringify(res)); //Returning data as single string
          return res;
        }, (error: any) => {
          return this.handleError(error);
        }));

回应:

在此响应中,数据以字符串形式返回。我试图解析数据,如果我采用 response.data.queryResult 或 Response.queryResult 它显示未定义。 感谢和问候, 贾纳尼

【问题讨论】:

    标签: ionic-framework ionic4 dialogflow-es dialogflow-es-fulfillment google-cloud-console


    【解决方案1】:

    您关注的博客已过时。

    要与 dialogflow API 通信,您需要有访问令牌。

    您可以遵循 API v2 指南,

    https://chatbotslife.com/dialogflow-v2-rest-api-communication-6cf7ab66ab36

    【讨论】:

    • 是的,我已经生成了访问令牌。另外,我遵循与您共享的博客中相同的步骤。我正在尝试使用detectintent API 进行http 调用。但是现在我遇到了 403 access denied 问题。 'projects/*/agent' 上的 IAM 权限 'dialogflow.sessions.detectIntent' 被拒绝。”。我已为云控制台 IAM 中的成员授予 Dialogflow API Admin 角色。即使遇到访问被拒绝的问题。请帮助我。
    • 可能是你配置错误
    • 我正在使用 ionic native http api call 来获取检测意图 api 的响应。但是响应中的数据作为单个字符串返回,例如:{ data:"querytext:etc.,"}。如果我解析数据也会出错。即使我尝试使用 **angular http api 调用,但在移动应用程序中遇到 preflight cors 问题。你能给我任何解决方案吗?
    • 嗨更新了问题并在上面添加了我的代码 sn-p。请检查并帮助我解决此问题。
    • 你没有传递标题,请按照博客一步一步来
    猜你喜欢
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多