2018.03.23みなさんこんにちは。うえはら(@tifoso_str)です。前回はGoogleカレンダーで予定が更新された時にチャットワークに通知する方法をお伝えしました。Scriptのトリガー設定にGoogleカレンダーの更新が使用できるようになりました。今回はどのような時にトリガーが実行されるのか確認していきます。実行されるとチャットワークへメッセージが送信され、更新が確認できます。tonari-it.com2018.03.16更新を確認したいカレンダーが一つの時は前回のままでもいいと思いますが、複数になるとどのカレンダーが更新されたのか確認するために工夫が必要です。思いつくのは、カレンダーの数だけ関数を作成してそれぞれにトリガー設定する方法だと思います。この方法では確認したいカレンダーが増えるたびに関数を作成する必要があり、メンテナンス性が悪いです。そこで今回はメンテナンス性に考慮した、複数のGoogleカレンダー更新に対応するトリガー設定とスクリプトについてお伝えします。引数の中から「calendarId」だけを取り出すカレンダーIDからカレンダー名を取得するスクリプト更新されたカレンダー名をチャットワークへ送信するスクリプトまとめ連載目次:GASでカレンダーイベントをトリガーにする方法トリガーが実行されるときに渡される引数カレンダーが更新されるとトリガーによって関数が実行されますが、その関数には引数が渡されています。どのような引数が渡されているか確認します。下記は関数「argumentCheck」が実行されると引数「e」を受け取って、ログ表示するスクリプトです。argumentCheck(e){Logger.log(e);}この引数「e」はイベントオブジェクトと呼ばれ、このオブジェクトを通してイベントの色々な情報を得ることができます。カレンダーが更新されたときに関数「argumentCheck」が実行されるように、トリガーを設定します。設定が終わったら、カレンダーを更新します。Scriptに戻って、ctrl+Enterでログを確認します。ログの内容は「authMode=認証モード」と「calendarId=カレンダーID」と「triggerUid=トリガーID」になっています。カレンダーIDがわかれば、どのカレンダーか判別できますね。引数の中から「calendarId」だけを取り出すトリガーから渡される引数には、「authMode」と「calendarId」と「triggerUid」が含まれているので、ここから「calendarId」だけを取り出す必要があります。「calendarId」だけを取り出すには下記のようにします。e.calendarIdスクリプトを下記のように変更し、実際にログで確認してみます。Logger.log('カレンダーIDは:%sです。e.calendarIdLogger.log('カレンダーIDは:%sです。',calID);}これでカレンダーIDを取得できることが確認できたので、次はこのカレンダーIDを引数で受け取ってカレンダー名を返す関数を考えます。カレンダーIDからカレンダー名を取得するスクリプトカレンダーIDから目的のカレンダーをオブジェクトとして取得する為にはgetCalendarByIdメソッドを使用します。getCalendarByIdメソッドについてはこちらの記事をご覧下さい。Scriptを使ってチャットワークに色々と送ることができます。Googleカレンダーから当日の予定を取得してチャットワークに送る方法についてお伝えしたいと思います。tonari-it.com2016.02.23CalendarApp.getCalendarById(カレンダーID)カレンダーオブジェクトからカレンダー名を取得するにはgetNameメソッドを使用します。Calendarオブジェクト.getName()スクリプトは下記のようになります。calendar.getName();}カレンダーIDを引数で受け取って、それを元にカレンダーオブジェクトを取得し、カレンダーオブジェクトからカレンダー名を取得する流れです。更新されたカレンダー名をチャットワークへ送信するスクリプト前回のスクリプトを元に、カレンダー名を取得する部分を追加します。'のカレンダーで予定が変更されました。'のカレンダーで予定が変更されました。calendar.getName();}あとは、更新を確認したいカレンダーの数だけトリガーを設定します。それぞれのカレンダーで予定を変更するとそのカレンダーが変更された連絡が来るようななります。まとめ今回は、複数のGoogleカレンダー更新に対応するトリガー設定とスクリプトについてお伝えしました。これで、複数のGoogleカレンダーのうち、どのカレンダーが更新されたかわかるようになりました。ScriptでGoogleカレンダーが更新されると1ヶ月以内のイベントを取り出す方法をお伝えします。連載目次:GASでカレンダーイベントをトリガーにする方法GASのイベントトリガーとして新たに加わった「カレンダーの更新」を使用すれば、カレンダーの操作をきっかけにスクリプトを動作させることができます。このシリーズでは、カレンダーの更新トリガーの基本の使い方から、一歩進んだテクニックをお伝えしていきます。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。ScriptでBotを作成する方法についてシリーズでお伝えしています。今回は、GASでスプレッドシートのセル範囲を行数・列数を使って取得する方法をお伝えしていきます。ScriptGASでGoogleフォームにプルダウンリストの質問を追加する方法GASでGoogleフォームを一発で作成するツールを作成しています。今回は、プルダウンリストを作成していきます。GASでGoogleフォームにスプレッドシートからの選択肢をもとにプルダウンリストを追加する方法です。ScriptGASで作ったWebページにCSSでスタイルをする最初の一歩GASユーザー向けのHTML入門として、GASによる簡単なWebページの作り方をお伝えしています。今回は、GASで作ったWebページにCSSでスタイルをする最初の一歩についてお伝えしていいます。ScriptGASでWebページを表示するdoGet関数のスクリプトについて丁寧に解説GASユーザーのためのHTML・CSSによるWebページ制作入門を伝えしています。Scriptを使って問い合わせメールをスプレッドシートに記録集計するシステムを作っています。今回はさらに問い合わせメールの通知をチャットワークに送りつつタスクも立てる方法です。Script超入門、GASプログラミングの基本を学んでいきます。今回は、for文を使った繰り返しの超基本。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。