GoogleフォームとLINEを連動させたアプリを作ってみる(要件定義・環境構築編)

こんにちは。船井総研デジタルのいっちーです。

# 私事ですが

先日、ついに健康診断でお呼び出しが来て、「毎日の健康状態を記録して管理しましょう」と指導を受けてしまいました。
まぁ、それは仕方ないのですが、いかんせん面倒くさい。自分の性格からして、最初の数日は真面目に記録してても、じきに忘れてしまうのは目に見えてます。そこで、LINE Messaging APIとGoogleフォームを組み合わせることで、リマインドと記録支援をしてくれるような仕組みを作ってみることにしました。

:::note warn
__ご理解いただいてるとは思いますが__
本記事で作成するアプリは、あくまで「健康状態の記録を支援する」ためのものです。これを使うことで健康状態が改善することを保証するアプリではありません。
:::

# システムの要件を考える

要件として、以下のようなものを考えました。

+ 毎日定時に、LINEでリマインドをしてくれる。
+ リマインドメッセージの中に、Googleフォームへのリンクが貼ってあって、そこから記録のためのフォームに飛ぶことができる。
+ フォームから入力すると、確認のメッセージを返してくれる。

全体像は、こんな感じでシンプルなものです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/546f4506-b28a-b536-3092-b8eafb05ae6d.png)

これならきっと、毎日忘れずに記録をつけられますし、最低限の面倒だけで済むでしょう。健診の際には、Spreadsheetの記録をそのまま見せても良いですし、グラフなど見やすい形に加工しても良いでしょう。その辺は追々考えるとして、まずはプログラムからLINEにメッセージが送れるように、LINE Messaging APIが使えるように環境構築をしていきます。

# LINE Business IDを作成する

LINE Messaging APIを使うには、LINE Business IDの登録が必要です。これは個人のLINEアカウントから登録することができます。さっそく登録していきましょう。

[LINE Developers](https://developers.line.biz/ja/) にアクセスし、「コンソールにログイン」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/f1e175cd-554e-0acc-2c51-ccde04ebb289.png)

「アカウントを作成」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/7c8e8bcb-5512-11ba-09bf-47775497065f.png)

「LINEアカウントで登録」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/dcc354b0-2d4e-d35b-b21a-3c47ab27c890.png)

手持ちのLINEアカウントでLine Business IDが作成されます。

Line Developersのコンソールにアクセスし、プロバイダーの「作成」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/e5efbe7b-fe09-a649-ddf1-337a65d86681.png)

適当な名前を付けて「作成」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/1859e2aa-c43b-455f-79bd-538b3f799ca0.png)

作成したプロバイダーを選択し、「Messaging API」を押下します。

::: note info
「ここで言うところのプロバイダーって何ぞ？」と疑問が出たので調べてみました。[用語集](https://developers.line.biz/ja/glossary/)によれば、プロバイダーとは「チャネルにアプリを提供する個人または組織」、チャネルとは「LINEプラットフォームが提供する機能を、プロバイダーが開発するサービスで利用するための通信路」だそうです。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/640d258f-8056-a607-1f69-d790260fc7b5.png)

必要事項を入力し、「作成」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/a781efe3-bf0c-2437-9e52-e6e559ff2321.png)

確認のダイアログが出てくるので、「OK」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/6dc73d07-c232-2463-3245-6393ea62b6b4.png)

約款が表示されますので、「同意する」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/3713991a-e1e0-1b93-9ec4-ef8aca04ed9c.png)

これでMessaging APIのチャネルが作成されました。

:::note
本稿では「プロバイダー名」も「チャネル名」も適当な名前を設定しましたが、これらはメッセージ送信者のプロフィールに表示されることになります。実用向けに作る際には、それっぽい名前を考えてみてください。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/59dbb335-25c1-ad0d-2d22-3b9ed93ffd38.png)

「あなたのユーザーID」という項目に表示されている文字列を控えておきましょう。

:::note info
以下、本稿ではここで取得した「あなたのユーザーID」を「ユーザーID」と表記します。
:::

「Messaging API設定」タブを開き、「チャネルアクセストークン」の「発行」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/0fc06692-fce3-03f1-09b1-2315a14d0e67.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/82763713-30ed-d455-31bc-0f7ba66f8ae1.png)

ズラズラと長い「おまじない」のような文字列が表示されました。こちらも控えておきましょう。

::: note info
以下、本稿ではこの手順で発行した文字列を「アクセストークン」と表記します。
:::

また、この画面で表示されているQRコードをお手持ちの端末で読み込んで、作成したチャネルを友達登録しておきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3280429/eb3c5f7f-8b1d-8722-e601-03c1ff22b866.png)

::: note warn
今回発行した「ユーザーID」と「アクセストークン」は、絶対に第三者の目に触れないように管理してください。
:::

Google Apps Scriptの開発環境は、Googleのアカウントを持っていれば既に整っていますので、これで環境構築は完了となります。

# まとめ
これまでの手順で、Line Business IDの作成と、Messaging APIのチャネルを作ることができました。[次回](https://qiita.com/fsd_itchy/items/aa091f0cbe54767a5111)は、このMessaging APIチャネルを利用して、実際にLINEにメッセージを飛ばしてみようと思います。

それではまた。