2020年1月7日0件のコメントこんにちは!GMOアドパートナーズで社内システムサポート担当をしているK.Tです。今回、Googleカレンダーの予定を一括出力する方法について調査しました。<きっかけ>国内産グループウェアのカレンダーでは大体備わっている「予定の一括CSV出力」機能。Googleカレンダーでは簡易的にCSV形式で出力する機能が備わっていない・・・Googleで提供されているエクスポート機能でiCal形式で出力して、Outlookやらにインポートして、CSV出力するなんてやり方もあるようですが、ほかの人の予定出力ができません。何より手順が多いので、この方法は断念。Scriptsを使って、Googleカレンダーイベントをスプレッドシートへ出力してみます。こちらのリファレンスを参考にしました。https://developers.google.com/apps-script/reference/calendar/<カレンダーの取得とイベント出力>Googleカレンダーでは、1ユーザや1設備のカレンダーを、Calendarオブジェクトとして扱います。CalendarAppクラスで、Calendarオブジェクトの取得メソッドが用意されています。今回はgetAllCalendarsメソッドを使いました。このメソッドは、自身が保有しているすべてのユーザや設備のCalendarオブジェクトをArrayで返してきてくれます。CalendarApp.getAllCalendars();このメソッドで取れるのはこの赤枠部分のカレンダーになります。ほしいCalendarオブジェクトを一気に取得してくれるので、あとは、取得したCalendarオブジェクト毎にイベントをスプレッドシートへ出力するだけ!CalendarクラスのgetEventsメソッドで、期間指定して、イベントを出力します。シートへの書き出しは、最終行にイベントを追加するようにappendRowを使いました。スクリプトの全容は、以下。//イベントの登録者名]);no++;}}}出力結果は、こんな感じです。いい感じで取得できました!(1行目の見出しは、事前に自分で書いておきました)<まとめ>カレンダーオブジェクトの概念をつかむのに、少し時間を要しました。@gmoap_engineer本ブログで発信される情報は、各エンジニア個人の見解であり、弊社の公式見解ではありません。本ブログに掲載、引用等をしている商品またはサービス等の名称は、各社の商標または登録商標です。その他の事項について一切責任を負いかねます。発表する情報には注意を払っておりますが、公式発表、見解については、弊社WEBサイトおよびプレスリリースなどをご確認ください。GMOインターネットグループにおけるソーシャルメディア運用ポリシーについては次のページをご確認ください。本ブログに掲載のあるソフトウェアのダウンロードは自己責任で御願い致します。ソフトウェアのダウンロードの結果、ご利用者に何らかの損失・損害が生じたといえども、当社ではその責任を負いかねます。本ブログに掲載のあるソフトウェアを扱う際は、各ソフトウェアの公式リファレンスを参照のもとご使用下さい。ソフトウェアの実行の結果、ご利用者に何らかの損失・損害が生じたといえども、当社ではその責任を負いかねます。