こんにちは、はじめまして
ITソリューションチームの平川です。
ITソリューションチームはいわゆる「情報システムチーム」でして、
日々PCについての問い合わせや依頼を受けています。
PCの作業依頼はワークフローで届くので、PC管理番号と利用者が正しいかなどの確認を行なって承認→作業となっていきます。
そこで、PC管理番号と利用者の確認はPC台帳なるものを都度確認するわけですが、この作業がめんどくさいんです。
本当に。
いちいち台帳開かなくても、誰かに聞けば教えてくれるようにならないかなと思いGoogle Chatを使って試してみました。
ではやっていきます。
GCPプロジェクトの作成
まずはGoogle Chat botを扱うプロジェクトを作成していきます。
下記リンクに沿って進めていきます。
[Enable API]ボタンをポチッと押して新しいプロジェクトを作成します。
ここでは「ChatbotTEST」と名前をつけて進めます。
JSONファイルはダウンロードしてもしなくても大丈夫です。
これでプロジェクトが作成されました。
ボットスクリプトの作成
続いてボットスクリプトを作成していきます。
これもテンプレートが公開されているので利用していきます。
https://script.google.com/create?template=hangoutsChat
クリックするとスクリプトが作成されますので、名前を変更してデプロイIDを取得します。
[公開] -> [マニフェストからの配置] -> [Get ID]
表示された[Deployment ID]を控えておきます。
APIの構成とデプロイ
作成したプロジェクトからボットAPIの構成とデプロイを行なっていきます。
[ナビゲーションメニュー] -> [APIとサービス] -> [ダッシュボード]
右ペイン最下部に「Hangouts Chat API」があるのでクリックします。
ここからボットAPIの設定を行なっていきます。
左メニュー -> [設定]
▼アプリケーション情報
下記情報を入力します
[ボット名]
[アバターのURL]
[説明]
▼機能
[ボットはダイレクト メッセージ内で機能します]にチェック
▼接続設定
[App Script Project]を選択し、先の手順で入手している [Deployment ID]を入力します
▼権限
必要に応じて設定してください
続いてサービスアカウントにプロジェクトのオーナ権限を付与していきます。
[ナビゲーションメニュー] -> [IAMと管理] -> [サービスアカウント]
表示されたサービスアカウントをコピーします。
[ナビゲーションメニュー] -> [IAMと管理] -> [IAM] ->[追加]
サービスアカウント追加して[オーナー]権限を付与します。
これで、GoogleChatのボットに登録されます。
動作確認その1
作ったボットの動作を確認します。
GoogleChatを開き、登録したbotを追加します。
botに話しかけると入力したテキストを返してくれます。
テンプレートのスクリプトが動く事を確認できました。
ここまでうまく動いたので、スクリプトを修正してスプレッドシートからデータを読み出しを行なっていきたいと思います。
スプレッドシートの準備
スプレッドシートでPC台帳っぽいものを準備します。
今回はこんな感じの台帳を使います。
それからスプレッドシートのURLからIDを取得します。
スクリプトの修正
今回はPC番号[A列]を入力したら、貸出者[B列]が返ってくるようにスクリプトを修正していきます。
こんな感じに修正します。
動作確認その2
では、動作を試していきます。
(最初に文字を入力するとスプレッドシートへのアクセスリクエストが行われますので、スプレッドシートのアクセス権があるアカウントで[許可]を行なってください)
存在するPC番号の貸与者が正常に表示されました。
これでわざわざ台帳を見なくてもPC番号から利用者(貸与者)がわかるようになりました!
まとめ
GCPやGAS(Google Apps Script)はほとんど使ったことありませんでしたが、テンプレートやらナレッジがたくさんあったので割と簡単に作ることができました。
今回作ったのは単純なルールベース型のボットですが、もう少し作り込めばいくつかの業務改善が行えそうだなと思いました。
では、また。