0

我正在尝试将DialogFlow 应用程序Google 助手(Google 上的操作)集成进行编程。我需要的是在特定时间内在选定的 Google Home 设备上定期执行我的脚本——我设法通过Routines做到了这一点。

不幸的是,Routines 的设置并不像我想象的那么容易(您需要通过几次单击和输入自定义操作名称)。然后我发现可以在助手中询问用户(例行建议),让他用更少的必要步骤进行设置。

但我的实现不起作用:

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({ request, response });
  ...
  function scheduleRoutine(agent) {
      const intent = agent.arguments.get('UPDATE_INTENT');
      agent.add(new RegisterUpdate({
        intent: intent,
        frequency: 'ROUTINES'
      }));
  }

  let intentMap = new Map();
  ...
  intentMap.set('setup_update', scheduleRoutine)
  agent.handleRequest(intentMap);
});

因为我正在使用WebhookClient我无法conv.arguments.get('UPDATE_INTENT')像示例中那样调用。但是我可以通过实现来获得那部分代码,这会导致错误:

TypeError: Cannot read property 'get' of undefined
     at scheduleRoutine (/user_code/index.js:71:34)

是否有人已经使用 Dialogflow 实施了常规建议

4

1 回答 1

0

您是否尝试使用 actions-on-Google 库中的 RegisterUpdate?您不能将该库中的功能与 dialogflow-fulfillment 库混合使用。它们不相容。

如果您想使用特定于 Google 操作的功能,则必须将该库用于您的 webhook。

于 2019-02-15T16:36:07.510 回答