031_カレンダー

GoogleカレンダーをLINE BOTから操作するプログラミング解説~API&LINE BOT⑤~

今日の予定をすぐに確認したい!とか、忘れないうちに予定入れとかなきゃ!と思うことはありませんか?

そんなときのために、LINE BOTを活用したGoogleカレンダーへのスケジュール追加や、スケジュール確認ができるWebアプリの作成方法をご紹介します。

こんな方におススメ(*´▽`*)
・Googleカレンダーの予定をLINEで確認したい
・LINEからGoogleカレンダーにスケジュールを追加したい
・Pythonの基本的な知識で、生活の役に立つアプリを作りたい


完成したアプリのイメージ

まず、LINE BOTに何かしらメッセージを送ると、次のように「予定を知りたい」か「予定を追加したい」かを聞かれます。

初回メッセージ

「予定を知りたい」をタップすると、カレンダーが表示されます。

画像2

そして、日付を選択すると、選択した日付のGoogleカレンダーに入力したスケジュール(内容、場所、時間)が表示されます。

メッセージ2

また、はじめに「予定を追加したい」を選択すると次のようにメッセージが表示され、指定の書式で予定を入力すると、Googleカレンダーに予定が追加されます。予定が追加されると、追加した予定のURLが返ってきますので、直接Googleカレンダーにアクセスして確認することもできます。

画像4

以上のようなことができるLINE BOTです。

プログラムの全体像を決める

今回のプログラムはLINE BOTになりますので、今までと同様に①「LINEのメッセージ関係の処理」(LINE Messaging API)と②「Googleカレンダー関係の処理」(Google Calendar API)の大きく二つに分けます。
Googleカレンダーの処理は、カレンダーに登録されているスケジュールを表示させることと、スケジュールに登録するという2つの処理をしたいので、関数もそれぞれにわけるなどを意識しながら作っていくことにします。
さらに、Google Calendar APIを使うには、認証やログインするための処理が必要になりますので、そのためのライブラリーのインポートやファイルの準備が必要になります。

まずは、以下のGoogle Calendar APIのドキュメントを確認すると良いでしょう。


ファイルの構成

それでは必要なファイルを解説していきます。
LINE BOTを今まで解説してきたい時と同様に以下のファイルを作成していますが、初めて見るファイルもあると思うので、プログラム完成後に再度確認すると良いでしょう。

キャプチャ

①Procfile
サーバー(Heroku)に実行コマンドを宣言するファイルです。

web: python main.py

②requirements.txt
利用するライブラリーを指定するファイルです。
Google認証やGoogleカレンダーAPIを利用するためのライブラリーを使います。

line-bot-sdk
flask
google-api-python-client
google-auth-httplib2
google-auth-oauthlib

③runtime.txt
使用するPythonのバージョンを指定します。

python-3.7.4

ココまでは、今まで同様にLINE BOTを利用するために必要なファイルです。

④gcapi.py
このファイルにGoogleカレンダーAPIとLINE BOTのやり取りするためのプログラムを書いていきます。後ほど詳しく解説します(^^♪

⑤main.py
④で作成したファイルをLINE BOTで実行するためのファイルです。これも後ほど解説します(^_-)-☆

⑥credentials.json
Googleカレンダーを利用するための認証ファイルです。
Google Cloud Platformでアカウントを作成して、次の手順でJSONファイルを作成しましょう。

1、Google Cloud Platformでプロジェクトを作成
2、「APIとサービス」を選択し、左記メニューの「認証情報」を選択
3、「認証情報を作成」を選択し、OAuthクライアントIDを選択

キャプチャ2

4、アプリケーションの種類は「その他」を選択して、作成

キャプチャ3

5、作成されたJSONをダウンロードして、ファイル名を"credentials.json"に変更

⑥token.pickle
最後に利用したいGoogleカレンダーのアカウント情報が保存されているファイルをアップします。このファイルは、コードを実行するために必要になるのですが、次のファイルの作成中に解説します。

Googleカレンダー関係のプログラムを作る(gcapi.py)

それではまずGoogleカレンダーのデータ取得やデータ書き込みの処理を行うプログラムを作りましょう。

1. 認証関係のプログラム

はじめに記載したGoogle Calendar APIのサンプルプログラムを使って認証関係のプログラムを作ります。

ここから先は

21,344字 / 3画像

¥ 1,200

この記事が気に入ったらサポートをしてみませんか?