如何在对话框中使用内联编辑器获取外部api数据

时间:2018-11-27 07:21:42

标签: dialogflow actions-on-google fulfillment

我有一个Dialogflow代理,我正在为其使用内联编辑器(由Cloud Functions for Firebase提供支持)。当我尝试使用request-promise-native来获取外部api数据时,我一直在我的Firebase控制台中获取Ignoring exception from a finished function

function video(agent) {
    agent.add(`You are now being handled by the productivity intent`);
    const url = "https://reqres.in/api/users?page=2";
    return request.get(url)
        .then(jsonBody => {
            var body = JSON.parse(jsonBody);
            agent.add(body.data[0].first_name)
            return Promise.resolve(agent);
        });
}

2 个答案:

答案 0 :(得分:5)

您的代码看起来正确。这种情况下的例外情况可能是您没有使用付费帐户,因此Google外部的网络访问被阻止。您可以通过添加catch块来查看确切的异常:

[ 1.99894963  0.04834206 14.0062958 ]

(如果执行此操作,则可能需要使用日志中的确切错误来更新您的问题。)

答案 1 :(得分:3)

内联编辑器使用Firebase。如果您没有使用Firebase的付费帐户,则将无法访问外部API。