Как эмулировать параметры запроса при локальном запуске клиента Firebase - PullRequest
0 голосов
/ 21 мая 2019

У меня есть приложение Google Dialogflow, которое я собираю и которое содержит ряд функций, которые необходимо обработать с помощью внешнего REST API. У меня есть клиент, настроенный и работающий с firebase serve, что позволяет мне проводить локальные тесты. Мои функции index.js имеют следующую сигнатуру:

exports.clientEmployeeServiceCodes = functions.https.onRequest(async (req, res)=>{...});

Но когда я запускаю локально, любой параметр запроса, который я передаю через URL, выглядит как неопределенный. Вот пример.

http://localhost:5000/arc-caregiver-f8ec9/us-central1/clientEmployeeServiceCodes?phone=%22%%2b12123003939%22

Но я получаю параметры, когда звоню через Dialogflow. Поэтому мой вопрос заключается в том, что я делаю что-то неправильно или есть способ эмулировать эти параметры в моем вызове url, чтобы метод работал так же, как если бы я вызывал его из Dialogflow.

Вот пример, где я получаю параметры Dialogflow через объект req. Обратите внимание, где я получаю значение pin .

exports.userHours = functions.https.onRequest(async (req, res)=>{
 const start = MyUtils.getDatePlus(-14);
 const end = MyUtils.getDatePlus(14);
 var view = 'API_Pay_Periods';
 var form = 'Pay_Periods';
 var criteria = 'Pay_Period_Date >= "'+start+'" %26%26 Pay_Period_Date <= 
 "'+end+'"'
 const ret = await callRestAPI(Config,view,form,criteria);
 const pp = getPayPeriod(ret);
 const pin = req.query.pin
 console.log('pin',pin)
 const data = await RESTAPI(Config, view,form,criteria);
 res.status(200).send(response);
 ....
 res.end();

});

1 Ответ

1 голос
/ 22 мая 2019

Dialogflow отправляет информацию о своем выполнении через POST на ваш webhook с JSON-объектом в теле запроса .Вы не можете продублировать это, отправив параметры запроса в самом URL.

Один из типичных способов работы с этим - настроить ngrok tunnel в вашей локальной среде и использовать его для записи тела JSON.это отправлено.Затем вы можете использовать это же тело для тестирования позже.

...