当我试图从托管在firebase函数上的webhook访问google操作的外部API时,我只能得到部分内容。它停止获取api提供的全部数据。例如,我尝试使用以下代码从wikipedia api获取数据
var request = require('request');//required module
//inside the function
request({ method: 'GET',url:'https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&explaintext=&exsectionformat=plain&redirects=&titles=11_September'},function (error, response, body)
{
if (!error && response.statusCode == 200)
{
console.log(body);
}
});
app.ask('data obtained');有谁能帮我解决这个问题吗。我有一个即付即用的火库帐户,允许数据出口。
发布于 2018-01-08 18:33:47
仅从代码片段来看,问题是您在request()回调之外回复用户。这意味着它会被立即处理,并且函数可能会在接收到整个正文之前结束。尝试这样做(我还将ask()更改为tell(),因为您在这里没有提示另一个响应,并且您不应该让麦克风保持打开状态。)
var request = require('request');//required module
//inside the function
request({ method: 'GET',url:'https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&explaintext=&exsectionformat=plain&redirects=&titles=11_September'},function (error, response, body)
{
if (!error && response.statusCode == 200)
{
console.log(body);
app.tell('data obtained');
}
});https://stackoverflow.com/questions/48145241
复制相似问题