Quantcast
Channel: いつも隣にITのお仕事
Viewing all articles
Browse latest Browse all 2110

Googleカレンダーで予定が更新された時にチャットワークに通知する

$
0
0

カレンダーアイキャッチ

みなさんこんにちは。うえはらです。

Google Apps Script はメニューからトリガーの設定ができます。

また、スクリプトを作成すれば自分に合わせたトリガーを設定できてとても便利です。

そんな、便利なGoogle Apps Scriptですが、最近カレンダーの予定更新をトリガーに設定することができるようになりました。

February 26, 2018
Calendar event triggers are now available. You can use these triggers in conjunction with the Calendar advanced service to discover recently changed calendar events via regular sync operations.

今までは、「時間主導型」の「日タイマー」「スプレッドシートから」の「起動時」などしかなかったのですが、Googleカレンダーの予定更新が追加されたことで、トリガー設定の幅が広がります。

今回はどういうときにトリガーが実行されるのか確認も含めて、Googleカレンダーで予定が更新された時にチャットワークへ通知させてみます。

チャットワークにメッセージを送信する方法

通知方法としてChatWorkClient for GASライブラリを利用して、メッセージを送信したいと思います。

ChatWorkClient for GASライブラリを利用する方法は以前の記事をご確認下さい。

Google Apps Scriptの第一歩、初心者でもチャットワークにメッセージを送れる
Google Apps Scriptの第一歩ですが、しょっぱなから真っ先にチャットワークを操作してしまいます。初回はGASのプロジェクトの作成、ライブラリの追加、スクリプトの記述と実行までです。

今回は、スクリプトが実行されると、チャットワークへ「Googleカレンダーで予定が変更されました。」と通知させます。

5行目のbody:の後が送信したいメッセージになるので、下記のように変更します。

function sendMessageCW() { 
  var client = ChatWorkClient.factory({token: 'XXXXXXXXXXXXXXXXXXXXXXX'}); //チャットワークAPI
  client.sendMessage({
    room_id:*********, //ルームID
    body: 'Googleカレンダーで予定が変更されました。'
  });
}

トリガーを設定する前に、スクリプトがキチンと動くか確認します。

sendMessageCWを実行して、チャットワークへメッセージが届いているか確認してください。

スクリプトの動作確認が終わったら次は、トリガーの設定です。

カレンダーからのトリガーを設定する

カレンダーの予定変更を検知してスクリプトを実行するトリガーを作成します。

メニューの「編集」→「現在のプロジェクトのトリガー」から新しいトリガーを追加します。

イベント設定の1番目が、デフォルトでは「時間主導型」となっているので、この部分を「カレンダーから」へ変更します。

カレンダートリガー設定

イベント設定の1番目を「カレンダーから」にすることで、カレンダーに関することをトリガーに設定できます。

イベント設定の2番目は今のところ「予定を更新しました」しか項目がありません。

イベント設定の3番目にカレンダーIDを記入して、どのカレンダーの更新を検知するか設定します。

デフォルトでは「Googleアカウント」(マイカレンダーID)が設定されています。

カレンダーからのトリガー実行の確認

それでは、「予定を更新しました」というのが、どのようなときにトリガーが実行されるのか確認していきます。

予定を新規に作成したとき

まずは、カレンダーに予定を新規作成したときです。

新規に予定を作成し、保存ボタンを押します。

予定新規作成

予定を保存すると、すぐにチャットワークへ通知がきます。

ほとんどタイムラグが無いので、標準の時計ではわかりにくいですね。

チャットワークへ送信

予定を変更したとき

次は、予定を変更したときも通知が来るか確認します。

日付を変更して、保存してみます。

予定変更終了日

はい、同じように通知が来ました。

次は予定のタイトルを変更してみます。

予定変更タイトル

またまた、同じように通知が来ました。

色々と試した結果、予定を少しでも変更すると、トリガーが実行されて通知が来るようです。

予定を削除したとき

最後に予定を削除したときを確認してみます。

予定削除

はい、予想通り通知が来ました。

予定の新規作成でも、予定変更でも、削除でも、カレンダーに何かしら更新があると、トリガーが実行されるようです。

今のところ「予定を更新しました」しか選択がないので、予定を作成しても、削除しても同じように動作します。

今後の仕様変更でイベントの種類が増えることを期待したいですね!

まとめ

今回は、Google Apps Script のトリガーにGoogleカレンダーの予定変更を設定したときの、トリガーの動作を確認しました。

トリガーが実行されて、チャットワークにメッセージが届くので、予定が変更されたことはわかりましたが、変更を確認するには、いちいちGoogleカレンダーを開く必要があります。

しかも、どの予定かわからないので、変更を確認するのは大変です。

そこで次回は、変更された予定を特定し、Chatworkへ通知する方法をお伝えします。


Viewing all articles
Browse latest Browse all 2110

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>