Googleカレンダーの予定をkintone連動登録

bozu
googleカレンダーの予定をkintoneで共有すれば、kintoneユーザーに予定を共有できるなー

と思いつつ、下書き状態で残していた記事がありました。ひょんなことからそういった事例に遭遇して(おそらく今回のネタでは解決できなさそう)記事にすることになりました。

Googleカレンダーの予定をkintoneに登録、逆にkintoneの予定をGoogleカレンダーに登録しちゃうことでより情報共有力を高めてみましょう!!

(通常機能じゃないことを色々とするので、試すのは自己責任で!!)

TISさんのkintoneプラグインを利用

kintoneとGoogleカレンダーを繋ぐ方法は色々とありますが、今回は簡単に済ませることができるプラグインを利用しました。

TISさんGoogleカレンダー連携プラグインを利用しました。いつもTISさんには感謝です。

Google クライアントIDとカレンダーIDが必要

GoogleカレンダーAPIを利用する為にはクライアントID (ウェブ アプリケーション) を取得する必要があります。

Google Cloud Platformから、APIとサービス→認証情報と進み、認証情報の作成でクライアントIDを作成していきます。作成までの流れは正直ググってもらえた方が早いと思います。

注意点としては、TISさんのホームページにも書いている通り、クライアントID生成時の[承認済みの JavaScript 生成元]にはご利用中のKintoneドメイン[https://○○○○○.cybozu.com/]を入力すること。

GoogleCloudPlatform設定

OAuthクライアントID取得

クライアントIDとカレンダーIDをGETできたら、次はkintoneのアプリを作成していきます。

予定を登録するkintoneアプリ作成

フォームに配置したフィールドは、プラグインに必要なフィールドだけを配置しました。

  • イベントID・・・文字列1行
  • イベントタイトル・・・文字列1行
  • イベント開始日・・・日付(日時でも可)
  • イベント終了日・・・日付(日時や計算でも可)
  • イベント開催場所・・・文字列1行
  • イベント説明・・・文字列複数行(リッチエディターでも可)
Googleと連携するkintoneアプリ作成

Googleカレンダー連携プラグイン設定

Googleカレンダー連携プラグインの設定は、配置したフィールドをプラグインの設定にあてはめる。

そして、取得したカレンダーIDとGoogleOAuthクライアントIDをここで入力します。

kintoneGoogleカレンダー連携プラグイン設定画面

これで設定は完了です。今回は試しに自分の誕生日をGoogleカレンダーに登録した後、kintoneに登録してみようと思います。

Googleカレンダーの情報をkintoneへ

Googleカレンダーに誕生日を登録します。今回はiPhoneのカレンダーから登録!!

kintoneだと標準機能では予定の繰り返しは登録できないはずだけど、この方法だと簡単に登録できますね

Googleカレンダーへ予定登録

kintoneのリマインダーの条件通知設定で、誕生日の1日前の12時にユーザー全員へ「明日誕生日の人がいるよ」って通知するようにタイミングの設定をしておきます。

他にも予定を登録するだろうから、通知の条件でイベントタイトルに誕生日というキーワードを含んでいる場合に通知するように設定しておきます。

リマインダー通知設定

Googleカレンダーから予定を取得

Googleカレンダーから取得したい予定の期間を設定して、予定取得ボタンを押す

確認ダイアログが出てくるので、OKを押せば指定した期間でGoogleカレンダーに登録されている予定が取得され、レコードとして登録されます。

kintoneでGoogleカレンダーの情報取得
Googleカレンダー情報取得ダイアログ

2020年5月1日〜5月31日までに私のGoogleカレンダーに登録されている予定は自分の誕生日だけ 笑

Goggleカレンダー情報取得後

単発の予定登録やCSVで一気に予定登録とかkintone標準機能で可能ですが、今回の様に毎年繰り返し訪れる誕生日の様な予定は事前に10年分なら10回分情報を入力する必要があります。

Googleカレンダーなら繰り返しの予定登録は簡単。何かの理由によって、Googleカレンダーを共有することはできないが、一部の予定は共有したい。

それってkintoneなら閲覧制限とかを上手に設定すれば解決するんじゃないでしょうか?

kintoneを予定登録のメインに使っている人もいれば、そうでない人もいる。情報を集約することはそういった複数のツールを使っているチームにとって必要なことなのかもしれませんね!!