IFTTTを使ってGoogleアシスタントから家計簿をつける（スプレッドシート編）

# 1.はじめに
Google HomeやAndroidに搭載されているGoogleアシスタント※から、様々なWebサービスを連携できるIFTTTを介して、Googleスプレッドシートに記録をしてみました。
※iPhoneでもアプリをインストールすれば利用可能です。実際にデモではiPhoneを使用しています。

# 2.必要なもの
- Googleアカウント
- IFTTTアカウント  

# 3.目標
Googleアシスタントに「家計簿に〇〇（項目）として××円記録して」と伝えると、Gooleスプレッドシートに記録される

# 4.手順
## 4.1.事前知識
- IFTTTを使ったことがない方は、以下の記事を読んでいただけたらと思います。  
「さまざまなサービスが連携できる「IFTTT（イフト）」の使い方」  
http://www.atmarkit.co.jp/ait/articles/1711/22/news031.html

## 4.2.IFTTTの設定
### 4.2.1.Googleアシスタントの選択
Step 1 Choose a service画面で「Google Assistant」を検索し、クリックします。
<img width="1440" alt="4-2-1_Googleアシスタントの選択.png" src="https://qiita-image-store.s3.amazonaws.com/0/268340/42e1bb6d-665a-f2ae-f28b-baf73eb298bc.png">


### 4.2.2.トリガーの種類を選択し設定
Step 2 Choose trigger画面で「Say a phrase with both a number and a text ingredient」をクリックします。
<img width="1440" alt="4-2-2_トリガーの種類を選択.png" src="https://qiita-image-store.s3.amazonaws.com/0/268340/1db749de-8b9e-4b24-d0b6-a33f1db3ef75.png">


Complete trigget fields画面が表示されるので、設定をしていきます。
「What do you want to say?」にトリガーとなるフレーズを入力します。
記録したいテキストの箇所に$、数字の部分に#を入力します。
注意点として、$と#の前後に半角スペースがないとエラーが発生します。
×「家計簿に$として#円記録して」
<img width="432" alt="4-2-2_トリガーの設定_1.png" src="https://qiita-image-store.s3.amazonaws.com/0/268340/49af901e-d41e-48e4-cf23-5903b036b04f.png">


「What's another way to say it?(optional)」と「And another way?(optional)」は、オプションとなっており、異なるパターンのフレーズを登録したい場合に入力します。

「What do you want the Assistant to sat in response?」にGoogleアシスタントが返答するフレーズを入力します。
<img width="432" alt="4-2-2_トリガーの設定_2.png" src="https://qiita-image-store.s3.amazonaws.com/0/268340/08370dc8-3187-c7f6-0a90-900ed9d9c349.png">


「Language」は、「Japanese」を選択します。

すべて入力が終わったら、「Create trigger」をクリックします。

### 4.2.3.Googleスプレッドシートの選択
Step 3 Choose action service画面で「Google Sheet」を検索し、クリックします。
<img width="1440" alt="4-2-3_Googleスプレッドシートの選択.png" src="https://qiita-image-store.s3.amazonaws.com/0/268340/29f79b53-7181-2eec-2d5c-701927dd2aa8.png">

### 4.2.4.アクションの種類を選択
Step 4 Choose action画面で「Add row to spreadsheet」をクリックします。
<img width="1440" alt="4-2-4_アクションの選択.png" src="https://qiita-image-store.s3.amazonaws.com/0/268340/77786cb8-bfe9-3410-718e-ffc17e1dcd8d.png">


### 4.2.５.Googleスプレッドシートの設定
Step 5 Complete action fields画面が表示されるので、設定していきます。
<img width="432" alt="4-2-6_アクションの設定.png" src="https://qiita-image-store.s3.amazonaws.com/0/268340/4ff6b73e-fa33-0112-87b7-f885647af4e7.png">

「Add row to spreadsheet」にデータを登録したいスプレッドシート名を入力します。
※指定したスプレッドシート名が存在しない場合は、ファイルが新規作成されます。

「Formatted row」欄に値を挿入する順序を入力します。
列の区切りには「|||」（バーティカルバー3本）を使います。

「Drive folder path」
登録したいスプレッドシートがどの階層（フォルダ）にあるかを入力します。

すべて入力が終わったら、「Create action」をクリックします。

### 4.2.6.Appletの登録
Step 6 Review and finish画面で、自分が分かりやすいAppletの説明を入力します。
<img width="1440" alt="4-2-6_Appletの登録.png" src="https://qiita-image-store.s3.amazonaws.com/0/268340/de188b3d-0c15-dcd7-8f2a-d809051a2bb8.png">

入力したら、「Finish」をクリックして、Appletの作成は終了です。

## 4.3.動作テスト
今回は、手元にiPhoneしかなかったので、GoogleアシスタントのiPhoneアプリを使用します。

Googlアシスタントに「家計簿に昼食代として480円記録して」と話しかけたところ、「家計簿に 昼食 代として 480円 記録しました」と返答されました。
これでトリガーは動いていることが確認できました。
![4-5_Googleアシスタント.png](https://qiita-image-store.s3.amazonaws.com/0/268340/c6be8e72-e7c5-1337-2d6f-a4de426458f4.png)


Googleスプレッドシートを確認してみると、家計簿ファイルにデータが追加されていました。
これでアクションも動いていることが確認でき、目標は達成しました。
<img width="498" alt="4-5_Googleスプレッドシート_結果.png" src="https://qiita-image-store.s3.amazonaws.com/0/268340/54f63498-678d-d4f9-f00c-3d8beb0186c1.png">

# 5.最後に
少しずつIFTTTに対応したサービスやトリガー・アクションの種類が増えているようなので、いろいろと今後も試していきたいと思います。