Документация здесь показывает этот пример кода для создания объекта Actions SDK для Express:
const express = require('express');
const bodyParser = require('body-parser');
const expressApp = express().use(bodyParser.json());
expressApp.post('/fulfillment', app);
expressApp.listen(3000);
Но мне нужно сделать что-то вроде этого:
const express = require('express');
const bodyParser = require('body-parser');
function func (req, res) {
let headers = req.headers;
let body = req.body;
console.log(headers);
console.log(body);
const app = actionssdk({
// init: () => body
// init: () => req
});
app.intent('actions.intent.MAIN', (conv) => {
conv.ask("Welcome to the app");
})
return app;
}
const expressApp = express().use(bodyParser.json());
expressApp.post('/fulfillment', func);
expressApp.listen(3000);
Это, очевидно, неправильный синтаксис, и он не возвращает никакого ответа на действие Google.
Причина, по которой я хочу сделать что-то подобное, заключается в инициализации объекта actionssdk
с помощью Dynami. c clientId
. Я могу извлечь projectId
из заголовка авторизации, присутствующего в req.headers
объекте. С projectId
я могу динамически получить clientId
и инициализировать actionssdk
, передав clientId
. Каков будет правильный синтаксис для этого?