我尝试从Google对话流程的内联编辑器调用外部api。但是没有用。我正在使用内联编辑器。我在日志中看到的错误是“错误:找不到模块” request-promise-native”。我还有其他需要添加此参考的地方吗? package.JSON?如果可以,怎么办?
function AccountNumberHandler(agent) {
const AccountNumber = agent.parameters.AccountNumber;
if (AccountNumber) {
//console.log(AccountNumber);
const request = require('request-promise-native');
agent.add('Unable to get result');
const url = "xxxx";
const data = "";
return request.post(url, data)
.then(jsonBody => {
var body = JSON.parse(jsonBody);
agent.add(body);
return Promise.resolve(agent);
})
.catch(err => {
console.error('Problem making network call', err);
agent.add('Unable to get result');
return Promise.resolve(agent);
});
//agent.add(`Wow! I didn't know you knew ${AccountNumber}`);
}
答案 0 :(得分:1)
@Prisoner上面的回答是正确的,但是,使用内联编辑器调用外部API时,您仍然可能会遇到一些问题。这是因为内联编辑器使用firebase阻止了免费计划中对外部API的调用。
因此,您需要升级到其出色的计划,该计划允许调用外部API。但是,您需要输入卡的详细信息,因此请记住这一点。
我创建了一个视频教程,介绍如何将您的dialogflow代理连接到外部API。请看这个视频。 https://www.youtube.com/watch?v=n4IPOeFCDxI
希望这会有所帮助。
答案 1 :(得分:0)