如何解决Google Action未部署
我正在尝试在Google Action云功能中播放简单的音频流。它不会部署,因为它说代码中有错误,但不是在哪里。这是我的代码(请注意***注释中的替代方法-混淆了,因为我不确定我应该使用哪一种,见过两者!
const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');
const { MediaObject,SimpleResponse } = require('actions-on-google');
const app = actionssdk() // *** or 'const app = conversation()' ?
app.handle("playStream",conv => { // *** or 'app.intent(...' ?
conv.ask(new SimpleResponse("Playing stream"));
conv.ask(new MediaObject({
name: 'My stream',url: 'https://stream.redacted.url',description: 'The stream',icon: new Image({
url: 'https://image.redacted.url',alt: 'Media icon',}),}));
});
exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
解决方法
您似乎混合使用了actions-on-google
和@assistant/conversation
库。您只能使用一个或另一个,具体取决于您使用的平台。
如果您使用原始的Actions SDK,则应使用actions-on-google
。如果您使用的是新的Actions SDK或Actions Builder,则应使用@assistant/conversation
。
区别是不同的,但是会导致问题。 actionssdk
具有intent
方法,但没有handle
方法,对于conversation
则相反。这可能会导致语法错误。另外,请确保已导入所有内容,包括Image
。
const functions = require('firebase-functions')
const {
conversation,Media,Image,} = require('@assistant/conversation')
const app = conversation()
app.handle("playStream",conv => {
conv.add("Playing stream");
conv.add(new Media({
mediaObjects: [{
name: 'Media name',description: 'Media description',url: 'https://actions.google.com/sounds/v1/cartoon/cartoon_boing.ogg',image: {
large: new Image({
url: 'https://image.redacted.url',alt: 'Media icon',}),}
}],mediaType: 'AUDIO',optionalMediaControls: ['PAUSED','STOPPED']
}));
})
exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app)
如果仍然无法解决问题,则应添加在尝试部署时看到的错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。