我对Alexa Skill有以下意图,我需要将外部URL中的.txt文件读入变量,以便Alexa说出来。这就是我到目前为止......
'PlayVoice': function() {
var url = "https://example.com/myfile.txt";
var output = 'Okay, here is the text file' + url;
this.response.speak(output);
this.emit(':responseReady');
},
显然,它现在唯一能做的就是阅读实际的网址。
我尝试过使用fs.readFile,但我在Alexa Skill中遇到错误。这是我试过的代码:
'PlayVoice': function() {
var content;
fs.readFile('https://example.com/myfile.txt', function read(err, data) {
content = data;
this.response.speak(content);
}
this.emit(':responseReady');
},
关于如何简单地将文本文件读入变量的任何帮助我可以让Alexa通过this.response.speak
发言?
答案 0 :(得分:0)
您可以使用request
包。
这样的事情应该会有所帮助。
var request = require('request');
request('url/of/the/file', function (error, response, body) {
console.log('error:', error); // Print the error if one occurred
console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
console.log('body:', body); // contents of your file.
});
来源:https://www.npmjs.com/package/request#super-simple-to-use
此外,您还需要将包request
添加到您的技能lambda中。
为此,请在您的代码所在的文件夹(lambda_function.js
和所有其他文件)中安装请求包。然后创建所有文件的zip(不是文件所在的文件夹)并将其上传到你的aws lambda。