无法从操作发送Webhook请求

时间:2018-10-10 16:05:57

标签: actions-on-google

我在与我的Web挂钩联系时遇到问题,我尝试从内联脚本(下图)更改为WebHook,再更改为我的服务器api,并在不需要身份验证的Web服务器上使用直接json文件,但我没有成功,这是我用来调用服务器的脚本:

auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

class MyListener(StreamListener):
    def on_data(self, data):
        with open(file_name, "a") as file:
            tweetDict = {"text": "", "coordinates": ""}
            tweet = json.loads(data)
            json.dump(tweet, file, indent=4)
            file.write("\n")
            return True

twitter_stream = Stream(auth, MyListener(), tweet_mode="extended")
twitter_stream.filter(track=[target])

当我测试Dialogflow上的Intent时,由于API要求身份验证,因此它们会向我返回403,当我尝试通过Actions并使用Oauth / Google登录帐户登录时执行相同操作时,错误是这样的: >

https.get({
    host: 'myurl.eu.ngrok.io',
    path: 'apipath/function-called',
    headers: {
        'Authorization': 'mytoken',
    },
}, function(response) {
    let json = '';
    response.on('data', function(chunk) {
        console.log('received JSON response: ' + chunk);
        json += chunk;
    });

    response.on('end', function() {
        let jsonData = JSON.parse(json);
        let stockPrice = jsonData.data[0].value;

        console.log('the stock price received is:' + stockPrice);

        let chat = 'The' + priceType + ' price for ' + companyName +
            ' on ' + date + ' was ' + stockPrice;

        CloudFnResponse.send(buildChatResponse(chat));
    });
});

但是看着日志,我没有收到请求,请看一下Cloud Platform的异常,回答服务器没有我的服务器使用的标头,我没有使用NGNIX

"responseMetadata": {
    "status": {
      "code": 14,
      "message": "Webhook error (206)"
    }

有人知道可能是什么问题吗?

1 个答案:

答案 0 :(得分:0)

问题似乎出在代理的第二版上,可能是Web钩子错误导致返回页面的Error Code,但事实并非如此。