Как начать интеграцию Alexa с кодом NodeJS?
У меня есть приложение, встроенное в NodeJS и Angular2+. Я хочу интегрировать часть NodeJs с Alexa. Я просмотрел код, но все, что я нашел, было много функций Intents, а затем я даже попытался найти следующую ссылку на github
https://github.com/alexa/skill-sample-nodejs-petmatch/blob/master/lambda/custom/index.js
Но я не могу понять, с чего начать.
Код NodeJs -
seekapi.service.js
// Require Neo4j
var neo4j = require('neo4j-driver').v1;
var path = require('path');
var logger = require('morgan');
var bodyParser = require('body-parser');
var express = require('express');
var router = express.Router();
var app = express();
// Create Driver
const driver = new neo4j.driver("bolt://localhost:11001", neo4j.auth.basic("neo4j", "lib1"));
app.set('views', path.join(__dirname, 'views'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
var session = driver.session();
var request = require('request');
router.post('/', seekAPI);
module.exports = router;
//working code below
function seekAPI(req, res) {
console.log("INSIDE NODE JS CONTROLLER OF seekAPI");
console.log("BODY IS ", req.body);
session
.run(`MATCH p=()-[r:API]->() RETURN p;`)
.then(function (result){
res.send(result);
result.records.forEach(function(record){
console.log("record = ", record);
});
res.send(result);
})
.catch(function(err){
console.log("inside catch = " + err);
})
session.close();
}
console.log("Inside seekAPI-controller.js")
1 ответ
Поскольку ваша кодовая база (часть API) уже написана в вашем приложении Angular, вы можете представить свой API в веб-сервисе. Веб-сервис должен соответствовать контракту, предоставленному Amazon. Когда веб-служба будет готова, настройте URL-адрес веб-службы в консоли Alexa, и все готово. Начните вызывать alexa прямо сейчас.
Преимущество заключается в том, что вы можете использовать существующее развертывание приложения, а не снова запускать тот же API в AWS Lambda.
С помощью метода веб-службы вы даже можете отлаживать навыки на локальном компьютере, используя конечную точку ngrok https.
Я бы предпочел этот способ веб-службы, так как я могу разрабатывать все на своем локальном компьютере и развертывать в своей инфраструктуре.