Help us understand the problem. What is going on with this article?

Amazon Echo で自前スキル

More than 3 years have passed since last update.

はじめに

Amazon Echo dot が届いたので、自前スキルを作ってみようと思いました。
『最近公開した映画を教えてくれるスキル』を作ってみることにしました。
映画.comがiCal公開予定スケジュールを公開してくれています。(このスキルはあくまで個人利用のみが目的です。)

custom_skill_top.png

スキルの作り方を教えてくれている記事はたくさんあるので
肝心なところだけ書きたいと思います。

Alexaカスタムスキルは、以下の流れで実行します。

Alexaスキル開発トレーニングシリーズ 第1回 初めてのスキル開発 : Alexa Blogsより引用)

全体図は上図のようになっているそうです。
以下、3点に絞って書きます。

  • Alexa -> Lambda
  • Lambda -> Alexa
  • 実機での利用

Alexa -> Lambda

Amazonアカウントで開発者登録をしてカスタムスキルを作成する際に、エンドポイントを指定します。

custom_skill_endpoint.png

ここで、LambdaARN を指定するだけです。

Lambda -> Alexa

ハンドラに指定している関数で下のように返してやると text を音声として喋ってくれます。

    response = {
        "version": "1.0",
        "response": {
            "outputSpeech": {
                "type": "PlainText",
                "text": text,
            }
        }
    }
    return response

https://developer.amazon.com/ja/docs/custom-skills/request-and-response-json-reference.html#response-format
上記サイトを見るともっと色んなことができます。

実機での利用

自分の Amazon Echo にどう公開していない、スキルを入れるかというところです。

カスタムスキルの設定画面のテストタブで下の画像のように

Screen Shot 2017-12-23 at 17.29.03.png

有効にするだけです。

すると、 Amazon Alexa アプリに表示されるようになります。(すべてのスキルで検索してもでてこないですが、有効なスキルで検索するとでてきました。)

なので、開発者登録するアカウントとAmazon Alexa アプリにログインするアカウントは同じでないと公開していない自前スキルは使えないようです。

実際に「映画公開情報」というスキルが利用できました。

Screen Shot 2017-12-23 at 17.47.56.png

ソースコードです。
https://github.com/sosuke-k/skill-movie-cal/blob/master/lambda/main.py

参考

sosuke
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away