从外部文件读入 this.response.speak 的变量
Read from external file into variable for this.response.speak
我对 Alexa 技能有以下意图,我需要从外部 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');
},
显然,它现在唯一做的就是读取实际的 URL。
我已经尝试使用 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
说话?
您可以使用 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。
我对 Alexa 技能有以下意图,我需要从外部 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');
},
显然,它现在唯一做的就是读取实际的 URL。
我已经尝试使用 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
说话?
您可以使用 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。