IFTTTを使って手軽にAlexaを連携してみる

#はじめに
・Echo（Alexa）でSkillを使わずに、IFTTTを使って、
　非常に簡単ではありますがWebサービス（今回はGmail）に
　連携をしてみようと思います。

#背景
・「echoを購入したけど、音楽を聞くしかやっていない。。。」っていう話をよく聞きます。
　AlexaはSkillの開発環境が提供されているのですが、
　開発環境への登録（認証）やLambda周りの多少必要だったりと、
　確かに初めての人には敷居は低くなく、Skillの話に至らない事が多くあります。

・そのままホームスピーカーが単なるスピーカーになるのも悲しいので、
　Skill開発などの知識がなくてもできる連携、動きをご紹介したいと思います。

#IFTTTについて

・Webサービスを連携させて処理をさせるサービスで、
　この手のサービスとしては早くからあり、連携できるWebサービスも非常に多いサービスです。
　複雑な事はできませんが、「手軽」に連携ができるのが嬉しいです。

#実行内容
　Alexaに向けて、特定（固定）のフレーズを言う
　 ->特定（固定）のメール（Gmail）が届く

　簡単過ぎますね。。。

#準備
　*※echoはすでにセットアップが完了している事を前提とします。*

1. IFTTTへの登録

　　[http://ifttt.com](http://ifttt.com)にアクセスをして、**Sign up**からユーザ登録を行います。
　　必要なものはメールアドレスのみです。
![スクリーンショット 2017-12-15 23.21.28.png](https://qiita-image-store.s3.amazonaws.com/0/223702/a886e4a1-3972-e0d4-01c8-6a675ab612bb.png)
以上で準備は終わりです。

#設定方法

1. 「My Applets」 -> 「Applets」をクリックします。
2. 「New Applets」をクリックします。
3. 「+this」をクリックします。
![IFTTT_this.png](https://qiita-image-store.s3.amazonaws.com/0/223702/784ac40a-4f3f-4df7-e543-46d749bf904e.png)
4. トリガーとして利用したいのサービスのブロックを選択します。<BR>*※検索ボックスにサービス名を入力する事で、サービスの絞り込みができます。*<br>ココではAlexaをクリック（選択）します。
![IFTTT_ChooseAService.png](https://qiita-image-store.s3.amazonaws.com/0/223702/c309f041-ab9d-7884-c309-30a10acb906a.png)
5. 自身のAlexaにConnectします。
6. Alexaを利用したトリガーの手段をクリック（選択）します。<br>ココでは「Say a specific phrase」をクリック（選択）します。
![IFTTT_CooseTrigger.png](https://qiita-image-store.s3.amazonaws.com/0/223702/77f1532e-661b-ee44-8c19-8934fcfe9f44.png)
7. トリガーとなるキーフレーズを入力します。<br>ココでは「send a mail」をクリック（選択）します。
8. 「+that」をクリックします。
![ITFFF_that.png](https://qiita-image-store.s3.amazonaws.com/0/223702/6e09d971-ba46-bac7-19a8-216810f3e3b4.png)
9. 実行されるサービスを選択します。<br>*※選択方法はトリガー用のサービスと同様です。*
10. Gmailを利用した実行の手段をクリック（選択）します。<br>ココでは「Send yourself an email」をクリック（選択）します。
![IFTTT_ChooseAction.png](https://qiita-image-store.s3.amazonaws.com/0/223702/54dbad5a-3221-8c5f-4c54-989cc8d292ce.png)
11. . Gmailで送信する為の項目を入力します。<br>ココではSubjectに「テスト」、Bodyに「てすと」と入力します。
![IFTTT_CompleteActionFields.png](https://qiita-image-store.s3.amazonaws.com/0/223702/986c8b17-6420-af4d-fe96-40ee308c71ba.png)
12. 「Create action」 -> 「Finish」をクリックします。
以上で、設定は完了です。

#実行・検証
非常に書きづらいのですが。。。
Alexaにトリガーのフレーズを発するとメールが届きました。
<img width="568" alt="IFTTT_実行結果.png" src="https://qiita-image-store.s3.amazonaws.com/0/223702/25cecd28-a76c-7db9-5c00-e786ea32431f.png">


#注意点
####1. 発音・フレーズの確認
　検証する上で、Alexaにしっかりとフレーズを言えていたか？については、
　自身のスマホのAlexaアプリの履歴を確認してください。
　実行が上手くいかない時の切り分けに有用だと思います。
> 設定 -> 一般 -> 履歴
![Alexaアプリ_履歴.png](https://qiita-image-store.s3.amazonaws.com/0/223702/38389544-5403-1c11-6c9a-a523417f7ea8.png)
　にあります。
　Alexaに向けて発した言葉が記録されています。
　画面を開いておくと、発言の度にほぼリアルタイムに履歴が更新されていきます。

####2. Alexaの言語環境
　・日本語環境の問題なのかもしれませんが、
　「Alexa trigger *キーフレーズ*」を発しても動作の受付がされません。
　Echoを言語設定を「English(United　 States」に変更をするとスムーズに検証する事ができました。

#おまけ
　非常に手軽にAlexaを他のWebサービスに連携させる方法として
　Alexaで流した曲名などをEvernoteなどに追記していく事ができます。
　ざっくりですが、設定は以下です。

　トリガー（+this）をAlexaの「New song Playd」
　実行（+that）をEvernoteの「Append to note」にすると
　Alexaで流した曲名がEvernoteの特定のノートに追記されていきます。

　*※Google SpreadSheetや、Gmailなどにも、同様に実行（+that）する事ができます。*

#まとめ
・今回の連携でも、Alexaが言語を理解し処理されている事の
　一端が垣間見れると思います。
　これらを手軽に連携できるIFTTTの様なサービスもありますし、
　何よりもAlexaにはSkillがあります。
　つまり、Skillを開発すれば、これらをコントロールできるようになります。

・ちょっと自分でもSkillを作ってみようかな。。。と思っていただけたり、
　せっかくご購入されたEchoがもっと活躍できる様になれば幸いです。

#おまけのおまけ
　話は逸れますが、連携サービスの一つで、Microsoftの**Flow**などは
　手軽で、且つIFTTTよりも柔軟で複雑な連携処理が作れます。
　*残念ながら今は、Amazon・AWS系の連携サービスのテンプレートはRedShiftしかありません。*

　まだまだIFTTTなどに比べると連携できるサービスが少ないのですが、
　事例を含めて連携サービスが増えていっています。
　また、AzureやOffice系のサービスとの親和性は非常に高いので、
　連携サービスとしては、非常に実用性が高いので有用な連携サービスだと思います。