Не можете вызвать внешние API из веб-хука Google dialogflow? - PullRequest
0 голосов
/ 05 апреля 2019

Я попытался вызвать внешний API из встроенного редактора диалога Google. Но не работает. Я использую встроенный редактор. Ошибка, которую я вижу в журнале: «Ошибка: не удается найти модуль« request-обещание-native ». Где-нибудь еще мне нужно добавить эту ссылку? package.JSON? если да как?

function AccountNumberHandler(agent) {
    const AccountNumber = agent.parameters.AccountNumber;

    if (AccountNumber) {
      //console.log(AccountNumber);
      const request = require('request-promise-native');
      agent.add('Unable to get result');
      const url = "xxxx";
      const data = "";
     return request.post(url, data)
          .then(jsonBody => {
              var body = JSON.parse(jsonBody);
              agent.add(body);
              return Promise.resolve(agent);
          })
          .catch(err => {
              console.error('Problem making network call', err);
              agent.add('Unable to get result');
              return Promise.resolve(agent);
          });      

        //agent.add(`Wow! I didn't know you knew ${AccountNumber}`);
    } 

Ответы [ 2 ]

1 голос
/ 07 апреля 2019

Ответ @Prisoner, приведенный выше, является правильным, однако, вы все равно можете увидеть некоторые проблемы при вызовах внешних API с помощью встроенного редактора.Это связано с тем, что встроенный редактор использует firebase, который блокирует вызовы внешних API в их бесплатном плане.

Таким образом, вам необходимо перейти на их блейз-план, который разрешает вызовы внешних API.Однако вам нужно будет ввести данные своей карты, так что имейте это в виду.

Я создал видеоурок о том, как подключить ваш агент диалогового потока к внешним API.Пожалуйста, посмотрите на это видео.https://www.youtube.com/watch?v=n4IPOeFCDxI

Надеюсь, это поможет.

0 голосов
/ 07 апреля 2019

Да, вам нужно добавить его в файл package.json.

Для этого с помощью встроенного редактора Dialogflow вы увидите два имени файла в верхней части редактора: index.js и package.json. Просто нажмите на файл "package.json" и отредактируйте его, чтобы добавить то, что вам нужно, в раздел "зависимости".

enter image description here

...