Alexa for Business プライベートスキルでアカウントリンクをやってみました #reinvent #Alexa
0 Amazon Alexa Advent Calendar
こちらは、Amazon Alexa Advent Calendar 2017への投稿記事です。
1 はじめに
Alexaのスキルでは、アカウントリンクによって、他のサービスの機能をスキルに追加することが可能です。
今回は、Alexa for businessで作成可能になった、プライベートスキルにアカウントリンクを追加して、AWSアカウントで有効にするところまでをやってみました。
アカウントリンクは、その接続先をLogin with Amazonにしました。スキルの作成方法の詳細については、省略させて頂きますので、下記をご参照下さい。
[Alexa] Login with Amazon との Account Linking で名前を呼びかける挨拶とかメールを送信するスキルを作ってみました
また、プライベートスキルの作成手順が不明な場合は、下記をご参照下さい。
Alexa for Business プライベートスキルを作ってみました #reinvent #Alexa
2 スキルの設定
アカウントリンク有効なスキルは、通常の作成方法と全く同じです。 開発者コンソールのスキルの設定で、アカウントリンクを有効にするだけです。
配信モードをプライベートに設定し、公開後、AWSアカウントに配布することでAlexa for Businessから利用可能になりますが、この時点では、他のプライベートスキルとなんら変わりありません。
図中の下のスキルが、アカウントリンク有効ですが、上のものと比べても、その違いは判りません。
3 スキルの有効化
Reviewを選択して、スキルの内容を確認し、Enableで組織で使用可能になります。
有効になったスキルは、Skills > Enabled skillsに一覧されますが、この時Statusの所にNot Linkedと表示されており、アカウントリンクが必要なことがここで、初めて分かります。
4 アカウントリンク
Alexa for businessにおける認可は、下記の2種類があります。
- マスターアカウントの認可
- 部屋(デバイス)固有の認可
マスターアカウントの認可は、必須であり、この認可が無いと、スキルグループに追加することも出来ません。
部屋(デバイス)固有の認可は、マスターアカウントの認可を上書きする形で、部屋特有の認可を行うものです。
(1) マスターアカウントの認可
下記の要領で、認可を行うと、全ての部屋(デバイス)で有効になります。
Enabled skillsで、スキル名をクリックします。
表示されたスキルのページでLink accountを選択します。
このスキルは、Login with Amazonが設定されていますので、amazonのログイン画面のウインドウが開きます。
ログインして、アクセスを許可を行うとアカウントリンクは有効になります。
その後、AWSのコンソールに戻り、成功した旨のメッセージが表示され、ボタンは、Unlik accountに変わっています。
Enabled skillsでも、StatusがAccount linkedに変化していることを確認できます。
(2) 部屋(デバイス)固有の認可
下記の要領で、部屋(デバイス)ごとの認可を行うと、部屋特有の認可が可能です。
Rooms > で対象の部屋を選択し、Skillsの所で、当該スキルでLink account to the roomを選択します。
表示されたポップアップでLinkを選択します。
ログイン画面と認可の画面で許可を行うと、ボタンは、Link master accountに変化しています。ここを選択することでmaster accountに戻すことも可能です。
5 最後に
今回は、プライベートスキルでアカウントリンクを試してみました。作成手順も許可もパーソナルの場合と大きく変化ありません。
組織で1回、認可するだけで、全てのデバイスで同じ状態で動作できるのは、結構便利かも知れません。
6 参考リンク
Alexa for Business デバイスのセットアップ編 #reinvent #Alexa
Alexa for Business 部屋の管理編 #reinvent #Alexa
Alexa for Business プライベートスキルを作ってみました #reinvent #Alexa
Alexa for Business スキル管理編 #reinvent #Alexa
[Alexa] Login with Amazon との Account Linking で名前を呼びかける挨拶とかメールを送信するスキルを作ってみました