Мой проект Google Actions указывает на функцию Google Cloud как веб-крючок. В облачной функции Google я могу создавать ответы на беседы, используя conv.ask(...)
.
Тем не менее, я пытаюсь сделать следующее: создать общую структуру контента для разговора, которая находится на другом сервере (также в облачной функции Google) , где я хотел бы составить ответ и отправить его обратно функция webhook.
Соответствующий код на обоих этих серверах выглядит так:
// in the webhook function
app.intent('actions.intent.MAIN', (conv, input) => {
// here I would like to call the second google function by
// passing, say, the input and receiving a response that can
// be passed on to the conv
// something like
// assume request-promise is being used
//
var options = {
method: 'POST',
uri: '..',
body: {...},
json: true
};
rp(options)
.then(resp => {
conv.ask(resp) // this is what I would like to do
});
});
На втором сервере Google Functions я использую экспресс в качестве промежуточного программного обеспечения. Здесь по некоторым логическим шаблонным ответам строятся
const ..
const {
SimpleResponse,
BasicCard,
...
} = require('actions-on-google');
...
const express = require('express');
var app = express();
...
app.post('/main', function(req, res, next) {
// here I would like to compose the response
// and send it to the earlier function
var convresp = new SimpleResponse({...});
..
res.send(convresp);
// this seems to be only sending the json
// and causes the receiving response to give an error
// when applying to conv.ask in the above code
});
Вопрос: как отправить ответ из второй функции, чтобы его можно было «вставить» в функциональность conv.ask
в первой функции? Спасибо