Не удается подключиться к Dialogflow API (V2) с помощью ReactJS

Я пытаюсь подключиться к Dialogflow API. Я загрузил файл JSON со всеми учетными данными и поместил его в папку src моего проекта.

Вот мой код:

import React from 'react';
import './App.css';
import jsonInfo from './google.json';
const dialogflow = require('dialogflow');


function App() {

  const sessionClient = new dialogflow.SessionsClient({
    keyFilename: jsonInfo
  });


  return (
    <div className="App">
      <h1>Hello World!</h1>
    </div>
  );
}

export default App;

Ошибка, которую он дает:

Вам необходимо передать экземпляр auth, чтобы использовать резервный клиент gRPC в браузере. Используйте OAuth2Client из библиотеки google-auth-library.

Может кто-то помочь мне с этим. Спасибо.


person Coder    schedule 13.11.2019    source источник


Ответы (1)


Dialogflow предоставляет API и библиотеки для доступа к ответу https://cloud.google.com/dialogflow/docs/reference/libraries/nodejs Я настоятельно рекомендую вызывать API из вашего бэкэнда, а не из внешнего кода по соображениям безопасности. Вызов API Dialogflow из кода внешнего интерфейса, будь то angularjs, react js или просто ванильный javascript, предоставит доступ ко всем данным вашего диалогового процесса.

Создайте внутренний сервер из reactjs, вызовите свой сервер, теперь на вашем сервере, внутренне вызовите API Dialogflow, чтобы получить данные и вернуть требуемую часть ответа.

Мы выполнили интеграцию диалогового потока responsejs, используя тот же подход, более подробная информация доступна здесь: https://www.kommunicate.io/blog/integrate-dialogflow-bot-react-js/

person Devashish Mamgain    schedule 07.04.2020