簡體   English   中英

對Google Assistant使用Actions SDK

[英]Use Actions SDK for Google Assistant

我正在嘗試在自己的服務器中使用Actions SDK,我執行的操作會顯示在Google助手中,但無法正常工作,該助手只會關閉而不會顯示任何錯誤。 這是我的代碼:

 'use strict'; const express = require('express'); const bodyParser = require('body-parser'); var exps = express(); exps.use(bodyParser.json()); const {actionssdk} = require('actions-on-google'); const app = actionssdk({debug: true}); const asyncTask = () => new Promise( resolve => setTimeout(resolve, 1000) ); exps.post('/', function(request, response) { app.intent('actions.intent.MAIN', (conv) => { return asyncTask() .then(() => conv.ask('Hi, this is a test!')); }); }); express().use(bodyParser.json(), app).listen(3000); 

請求和調試選項卡錯誤和響應均為空。

查看文檔( https://developers.google.com/actions/assistant/responses )可能表明您嘗試錯誤地調用conv.ask()。 我想您會需要這樣的東西:

conv.ask(new SimpleResponse({speech: 'Hi, this is a test!', text: 'Hi, this is a test!'}));

我認為問題在於您正在創建兩個不同的表達對象。 一個安裝在“ /”路徑上,但未設置為在任何端口上偵聽。 另一個偵聽一個端口,但沒有設置要處理的任何路徑。

將您的聽眾線路更改為

exps.use(bodyParser.json(), app).listen(3000);

它將使您在其中設置了“ /”路徑的Express對象也將成為偵聽端口的對象。

似乎您的Webhook正在偵聽“ /”路徑,但您已在action.json文件中將Webhook指定為使用“ / node /”路徑。 (閱讀屏幕截圖有點困難-這就是我們要求您發布文本而不是屏幕截圖的原因。)如果您將webhook更改為偵聽'/ node /'或將actions.json文件更改為使用“ /”,它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM