Google 操作未部署
Google Action not deploying
我正在尝试让一个简单的音频流在 Google 动作云函数中播放。它不会部署,因为它说代码中有错误,但没有说在哪里。这是我的代码(请注意 *** 评论中的替代方案 - 令人困惑,因为我不确定我应该使用哪个,已经看到了两个!
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
and @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)
如果这仍然不起作用,您应该添加您在尝试部署时看到的错误。
我正在尝试让一个简单的音频流在 Google 动作云函数中播放。它不会部署,因为它说代码中有错误,但没有说在哪里。这是我的代码(请注意 *** 评论中的替代方案 - 令人困惑,因为我不确定我应该使用哪个,已经看到了两个!
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
and @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)
如果这仍然不起作用,您应该添加您在尝试部署时看到的错误。