みなさんこんにちは。ノンプログラマーのうえはらです。
GASでGoogleカレンダーの予定をLINEに送る
先日はGASで複数のカレンダーから今日の予定を取得する方法をお伝えしました。
第2回は、翌日の予定を取得する方法をお伝えしようと思ったのですが、取得するだけでは面白くないので、先にLINEに送信する方法をお伝えします。
LINEに送信するために下準備が必要なので、今回はGoogle Apps ScriptでLINEのグループIDを確認する方法をお伝えします。
LINE Botについて
GASでLINEに送信する為には、LINE Botを使用します。
LINE Botの作成については下記をご覧下さい。
LINEのグループIDを確認するスクリプト
今回は家族のグループにメッセージを送信するので、グループIDを取得する必要があります。
グループIDをメニュー等から検索できれば簡単でいいんですけど、そういうわけにはいかないんですよねぇ~。
グループIDを調べる為に、Googleスプレッドシートのコンテナバインドスクリプトを使用します。
下記がグループIDを取得するスクリプトです。
取得したグループIDをスプレッドシートに記入するようにしています。
function doPost(e){ var json = JSON.parse(e.postData.contents); var UID = json.events[0].source.userId; var GID = json.events[0].source.groupId; var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); sheet.getRange(1,1).setValue(GID); }
普通であれば、保存して終了なのですが、今回はそれだけでは機能しません。
ウェブアプリケーションとして公開するひつようがあります!
ウェブアプリケーションとして公開
ウェブアプリケーションとして公開するには、メニューの「公開」→「ウェブアプリケーションとして導入」と進みます。
承認を許可していくと、「このアプリは確認されていません」と出てきてビックリすると思います。
でも、安心してください、ぜんぜん問題ありません。下記記事を参考に進んでください。
最後の画面は下記のようになると思います。
赤枠で囲んだURLが必要となるので、コピーしてください。
URLがわからなくなった場合は、再度メニューの「公開」→「ウェブアプリケーションとして導入」から確認することができます。
LINE側の設定
次は、LINE_developersで設定します。
サイトにアクセスして、「Messaging API(ボット)をはじめる」と進みます。
プロバイダー一覧から、先ほど作成したBotがあるものを選び、その後でBotを選択します。
画面が変わったら、少し下にスクロールして、「メッセージ送受信設定」の「Webhook URL」を設定します。
右側のえんぴつマークをクリックすると変更できます。
先程コピーしたURLを貼り付けます。
先頭の「https://」が2重にならないように気をつけて、更新します。
その後、「接続確認」で接続できているかテストしてください。
LINEグループIDの確認
Webhookの設定が終わったら、Botを友達追加して、グループへ招待します。
Botの友達追加は、先程のBotの設定の下の部分にQRコードがあるので、それを利用すればできると思います。
また、グループへの追加についても、LINEを利用していればご存じだと思うので、ここでは省略します。
Botをグループへ追加したら、何でもいいので、投稿してください。
その後にスプレッドシートを確認すると、A1セルに英数字の羅列が追加されているはずです。
それが、グループIDです。
まとめ
今回は、Google Apps Script を利用して、LINEのグループIDを取得する方法をお伝えしました。
いよいよ次回は、Google Apps ScriptからLINEのグループへメッセージを送信します。
次回もよろしくお願いします。
連載目次:GASでGoogleカレンダーの予定をLINEに送る
GASでGoogleカレンダーの予定をLINEに送る方法をお伝えします。
配信内容は、下記の様にします。
1.毎朝(07:05)、その日の予定を配信する。
2.夕方(19:05)、向こう1週間の予定を配信する。
これで、予定を忘れる事もなくなるはず・・・。
コメント