У меня есть приложение 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();
});