こんにちは!XIMIXの島岡です。
本記事はNI+C TeamGCP Advent Calendar 2024の12日目の記事となります。
今回は、Google Apps Script(GAS)を使って、Googleカレンダーのリソースを効率的に一括作成する方法をご紹介します。
手動でリソースを追加・管理するのは時間がかかり、ミスが発生しやすいものです。
GASを利用することで、複数のリソースを一括で作成・管理することが可能になり、業務の効率化につながります。
では早速、GASを使ったカレンダーリソースの効率的な作成方法について見ていきましょう!
Googleカレンダーリソースとは、Googleカレンダー上の「予約可能な共有リソース」のことです。
たとえば、会議室やプロジェクター、社用車など、複数の人が共有して使う設備や備品、施設をリソースとして登録することで、予約の管理を簡単に行うことができます。
これを利用することで、Googleカレンダー上でリソースの空き状況を確認しながらスムーズに予約ができ、重複予約を防ぐことができます。
参考:カレンダー リソースとは
では早速、作成方法を見ていきましょう!
参考:REST Resource: resources.calendars
パラメータ等の詳細は、上記参考リンクをご確認いただき、適宜ご自身の用途に合わせてGASの内容を変更してください。
上記については、GWS管理コンソール画面などで確認してください。
はじめに、Googleカレンダーリソースの情報を入力するスプレッドシートの事前準備を行います。
続いて、GASを作成します。
const SPREADSHEET_ID = 'your_spreadsheet_id'; // スプレッドシートIDを入力
const SHEET_NAME = 'シート1'; // シート名を入力
// 初期化関数
function onOpen() {
const ui = SpreadsheetApp.getUi();
// カスタムメニューを作成
ui.createMenu('カスタムメニュー')
.addItem('カレンダーリソース作成', 'createCalendarResourcesFromSheet')
.addToUi();
}
// カレンダーリソースのデータをスプレッドシートから読み込んで作成
function createCalendarResourcesFromSheet() {
const spreadSheet = SpreadsheetApp.openById(SPREADSHEET_ID);
const sheet = spreadSheet.getSheetByName(SHEET_NAME);
const data = sheet.getDataRange().getValues();
for (let row = 1; row < data.length; row++) {
const rowData = data[row];
const resourceId = rowData[0];
const resourceName = rowData[1];
const buildingId = rowData[2];
const resourceCategory = rowData[3];
const floorName = rowData[4];
const capacity = rowData[5];
createCalendarResource(resourceId, resourceName, buildingId, resourceCategory, floorName, capacity);
}
SpreadsheetApp.getUi().alert('カレンダーリソースの作成が完了しました'); // 完了メッセージの表示
}
// カレンダーリソース作成関数
function createCalendarResource(resourceId, resourceName, buildingId, resourceCategory, floorName, capacity) {
const calendarResource = {
resourceId: resourceId,
resourceName: resourceName,
buildingId: buildingId,
resourceCategory: resourceCategory,
floorName: floorName,
capacity: capacity
};
AdminDirectory.Resources.Calendars.insert(calendarResource, 'my_customer');
}
作成したGASを実行し、カレンダーリソース作成処理を行います。
作成したカレンダーリソースをGoogleカレンダーとGWS管理コンソールから確認してみます。
スプレッドシートに入力したカレンダーリソースが複数作成されています。Googleカレンダーから予約も可能です。
設定した内容で、カレンダーリソースが作成されています。
今回は、Google Apps Script(GAS)を使ってGoogleカレンダーのカレンダーリソースを一括作成する方法をご紹介しました。手動では手間のかかるリソース登録も、GASを活用することで効率的に行うことが可能です。
ぜひこの記事が皆様のお役に立てれば幸いです。
今後は、Googleカレンダーリソースの更新・削除や、ビルディング情報の取得方法などを随時紹介していく予定です!
Google Cloud、Google Workspaceに関する お問い合わせはこちら