Alexa自定义技能 - 内部调用其他技能的处理程序

时间:2017-10-03 23:13:01

标签: node.js alexa alexa-skills-kit

我正在尝试开发一种可以执行以下操作的自定义技能:

Alexa, launch michael jackson app

然后我会提供选项供用户从以下选项中选择:

Alexa, play music on spotify(and I need to internally pass the value of artist (mj))

Alexa, play music on pandora(and I need to internally pass the value of artist (mj))

Alexa, play music on podcast(and I need to internally pass the value of artist (mj))

用户可以在Spotify,iMusic和Pandora等上指定mj。

这可行吗?

2 个答案:

答案 0 :(得分:0)

当一场比赛进行时,你不能像'Alexa一样再次调用Alexa,在Spotify上播放音乐'。只有当其他服务(如Spotify)公开了要使用的REST API时,您才能执行一个自定义解决方案。如果他们有REST API,那么你可以做的就是,在打开你的技能(Alexa,启动迈克尔杰克逊应用程序)后,你可以给用户提供如下选项,

say 1 to play music on Spotify
say 2 play music on Pandora
say 2 play music on podcast

一个用户使用数字(1,2,3等)进行响应,然后您可以为用户输入另一个艺术家姓名的输入。现在根据用户输入调用相应的API。

请注意,只有当另一方公开了REST API时,所有这些逻辑才有可能。

答案 1 :(得分:0)

是的,这可以通过多种方式完成。一个人会要求您的应用程序响应启动请求,以及3个意图:

  1. " Alexa,开放迈克尔杰克逊应用"会启动你的应用程序。它应该响应发射请求,例如"你希望我在哪里玩迈克尔·杰克逊?你可以说spotify,pandora或播客"
  2. SpotifyIntent:"在Spotify上播放音乐"甚至只是" Spotify"
  3. PandoraIntent:"在Pandora上播放音乐"甚至只是" Pandora"
  4. PodcastIntent:"在播客上播放音乐"甚至只是"播客"。
  5. 然后,您的意图处理程序需要对所选服务进行REST调用。

    这也可以使用插槽来完成,但我认为以上是关于完成所描述内容的最简单方法。

相关问题