12
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Real Sakai Lab Advent Calendar 2017Advent Calendar 2017

Day 24

Amazon Echo で自前スキル

Last updated at Posted at 2017-12-23

はじめに

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

参考

12
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?