Google Homeで受付システム

# **やりたいこと**

Google Homeでの受付嬢を作りたい。というのも私のインターン先では呼び鈴を使っており、十分機能しているのだがIT企業たるものITを使わなくては。ということで。

こちらの記事を参考にしています。
https://qiita.com/h-takauma/items/4ecc3421f2995b207284

# **構成図**

![スクリーンショット 2018-05-08 15.34.28.png](https://qiita-image-store.s3.amazonaws.com/0/240838/e51b094f-0860-101e-5ca2-afcb54db5781.png)

# **手順**

## **1.Google Homeが接続しているGoogleAccountを確認**

後からIFTTTで同じGoogleAccountに接続する必要があるからです。

## **2.IFTTTのメニューからMy Appletsを選択してNew Appletsからスタートします**

## **3.thisはGoogle Assistantです**
![スクリーンショット 2018-05-08 15.57.23.png](https://qiita-image-store.s3.amazonaws.com/0/240838/1760c92b-7009-1946-a1b6-bcb738cf52cd.png)

## **4.triggerを選択**
![スクリーンショット 2018-05-08 15.58.21.png](https://qiita-image-store.s3.amazonaws.com/0/240838/c6afb473-4555-6826-fa99-5342487f5f9d.png)

## **5.下記の写真を参考にして入力しCreate triggerで完了する**

$を入れることでそこの部分はいずれの言葉でも大丈夫ですということを表します。

参考元のサイトではレスポンシブで聞き取った担当者の名前を言いかえしていましたが聞き間違いが結構多いので今回は無しにしました。
![スクリーンショット 2018-05-08 15.58.56.png](https://qiita-image-store.s3.amazonaws.com/0/240838/dfe32fe9-8392-01c6-10ad-a5cb98f82f01.png)

## **6.thenはGoogle Sheetsです**
![スクリーンショット 2018-05-08 16.02.44.png](https://qiita-image-store.s3.amazonaws.com/0/240838/a8fa285a-d65c-67fa-622b-af1803e65030.png)

## **7.Update cell in spreadsheetを選択**
![スクリーンショット 2018-05-08 16.44.27.png](https://qiita-image-store.s3.amazonaws.com/0/240838/e14cd686-6141-01d7-40cc-7afc66a03c72.png)


## **8.写真のように入力**
![スクリーンショット 2018-05-08 16.04.42.png](https://qiita-image-store.s3.amazonaws.com/0/240838/90204b1b-fc30-5e6b-ae59-c6e9c67ff662.png)

## **9.Google Homeに話しかける**
「OK,google。受付　〇〇」

## **10.Google Driveにあるスプレッドシートを確認する**
Drive folder pathを空白にしたので、IFTTTフォルダの直下に来訪シートが追加されているはずです。もし来訪シートが作成されていない場合はIFTTTのsettingから連携しているGoogle Accountを確認してみてください（Google Homeと同じアカウントか）

またスコープの設定ができていない可能性もあります。その際は強引ですがシークレットモードでchromeをブラウザを起動して新しくIFTTTのアカウントを作ってこの手順をやっていくと途中でスコープを許可しますか？の画面が出ると思います。

## **10.スクリプトを追加する**

```javascript

var roomId =' (チャットワークのroomid) ' 
var token =' (チャットワークのroomid) '

var mySheet = SpreadsheetApp.getActiveSheet();  // シートを取得
var currentRow = mySheet.getActiveCell().getRow();  // 更新行を取得
var myCell = mySheet.getActiveCell();　　　　// アクティブなセルの取得
var text = myCell.getValue(); 　　//myCellの値を取得

function showStatus() {

  if(myCell.getColumn() == 2) { //数字の部分には列番号（この場合B列）
    // 更新日時をA1に記録する
    var updateRange = mySheet.getRange('A' + currentRow);
    updateRange.setValue(Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/M/d H:m:s'));
    
    slackPost();    

    // 更新行を記述するため1行追加
    mySheet.insertRowBefore(2);

  }
}


function showStatus(body){
var client = ChatWorkClient.factory({token: token});
  client.sendMessage(
    {
      room_id: roomId,
      body: text + "様が来訪です"
    }
  );
}
```

## **11.ChatworkのAPIトークンと通知をさせたいルームidを取得する**

APIトークンは[こちらの記事](https://help.chatwork.com/hc/ja/articles/115000172402-API-Token%E3%82%92%E7%99%BA%E8%A1%8C%E3%81%99%E3%82%8B)を参考に取得してください。

ルームidはチャットワークで通知をさせたいルームを開いてそのURL後半にある数字です。

## **12.スクリプト実行トリガーを登録**
時計のようなマークをクリック
![スクリーンショット 2018-05-08 16.12.42.png](https://qiita-image-store.s3.amazonaws.com/0/240838/101790f5-866c-59a6-3951-9d9f9483dc13.png)

下の写真のように設定。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3135343335352f65353434353035302d666631322d303164662d666165352d3730363137653533646137352e706e67.png](https://qiita-image-store.s3.amazonaws.com/0/240838/95975773-c96d-73bd-2af5-d57a244d1f56.png)


# **まとめ**

Google Homeを使う簡単なアイデアでした。とても簡単にできてすごく良かったですが日本語の認識が少し甘いのがたまに傷です。

今後の活用の仕方が色々広がった良い機会でした。また面白いアイデアを発見、もしくは思いついたらどんどんやってみたいと思います。