Google 助手的网络抓取响应错误

Error in web scraping response for Google Assistant

基本上,我正在尝试在这个 Intent of Dialogflow 中对我的网站进行网络抓取。我在本地 IDE 中使用节点 js。但它总是在 Google 助手中捕捉承诺并显示 'myError'。

感谢您的帮助!

我已经在单独的节点 js 脚本文件中尝试了网络抓取代码,它工作正常并得到了想要的结果。但是当我将它复制并粘贴到意图函数中并添加 return (如果不 return 我无法部署)它直接进入承诺的范围。

我读了这篇有类似问题的文章,但没有用。

function mostrarEventos(agent) {
        const cheerio = require('cheerio');
        const rp = require('request-promise');
        // const url = 'https://germantellezv.github.io'
        const options = {
            uri: 'http://germantellezv.github.io/',
            transform: function(body){
                return cheerio.load(body);
            }
        }
        return rp(options)
            .then($ => {
                var result = $('.projects-title').find('p').text()
                agent.add(`${result}`)
                agent.add('hola mundo')
                return console.log('testing'); //irrelevant
            }).catch(err => {
                agent.add('myError')
                return console.log(err) // irrelevant
            })
    }

我希望在 google 助手中看到我的网页抓取结果。或者至少,理解为什么它不适用于 .then

更新:我尝试在 .catch 中添加 agent.add(err) 进行更改,现在我在 google 助手中看到:RequestError: Error: getaddrinfo EAI_AGAIN germantellezv.github.io:80

Google Cloud Platform 给我 300 美元用于使用他的服务,我将它用于 firebase,仅此而已。

总而言之,我无法向外部 Google 网络发出请求,因为我的计划是免费的。现在我正在使用 Blaze 计划,我刚刚看到我的 Google 助手已经成功地进行了网页抓取。 人们已经说过,但我没有在文档中找到该限制,所以我在这里留下该信息:https://cloud.google.com/dialogflow/docs/fulfillment-configure

看这个限制项configure fulfillment limitations

感谢您的宝贵时间和帮助!