G-gen の藤岡です。当記事では、Google Workspace で削除済みのユーザーが主催者の予定を Google カレンダーから削除する方法を紹介します。
はじめに
ユーザーの削除
組織で Google Workspace を利用している場合、退職者が出るとユーザー (Google アカウント) の削除が発生します。削除時にデータを移行することで、ユーザーの削除をしてもデータを引き継ぐことができます。
削除時に以下の画面で データのオーナー権限を移行しない にチェックを入れ削除をすると、各データが引き継がれません。

Google カレンダーの予定
予定のキャンセルや譲渡をせずにユーザーを削除してしまい、削除済みのユーザーが主催者の予定がある場合、招待されたユーザーの Google カレンダーに予定が残ります。
例として、以下のメンバーで構成された予定があるとします。

予定の主催者である aaa@example.com を データのオーナー権限を移行しない で削除します。

予定の主催者ユーザーが削除されても、以下のように予定に招待されている bbb@example.com と ccc@example.com のカレンダーには予定が残ります。

ここで bbb@example.com が手動で自身の Google カレンダーから このカレンダーから削除 で予定を削除したとします。

その場合、bbb@example.com の Google カレンダー上では予定が無くなりますが、ccc@example.com の Google カレンダー上では予定が残ります。

この例では参加者が 3 人予定ですが、100 人を超える招待者がいた場合に、招待者された側で手動で予定を削除することはかなりの手間となります。
そこで、削除済みユーザーが主催者となっている予定を、管理者側が一度に削除するには以下の手順を実施します。
削除済みユーザーが主催者の予定を削除する手順
前提
削除済みユーザーが主催者の予定を管理コンソールから一覧で表示させて削除する等といったことは現在の仕様ではできません。
そのため、削除したい予定があるが、主催者が既に削除されているユーザーの場合は Calendar API を使い、予定を削除します。
ID の取得
以下の手順で対象の予定 ID を取得します。
https://www.google.com/calendar/render?gsessionid=OK&eventdeb=1から Google カレンダーを開く
(通常の Google カレンダー URL はhttps://calendar.google.com/calendar/ですが、この URL では [ トラブルシューティング情報 ] が表示されません)- 予定 > その他アイコン [ ︙ ] > [ トラブルシューティング情報 ] を押下

トラブルシューティング情報の画面
以下のような ID が表示されます。(見やすいよう適宜改行しています)
Event{
eid=2c37797xxxxxxx,
organizer=aaa@example.com,
participant=bbb@example.com,
actor=bbb@example.com,
summary=ブログ執筆,
status=CONFIRMED,
seq=1,
startTime=2023-09-18T22:00:00Z,
endTime=2023-09-18T23:00:00Z
}
このうち、eid と organizer の 2 つの ID を使い削除済みのユーザーが主催者の予定を Google カレンダーから削除します。
予定の削除
予定を削除するには特権管理者権限が必要です。
特権管理者権限のあるアカウントでログインし、以下の手順で予定を削除します。
- Calendar API の Events: delete にアクセス
- 画面右部の Try this method に以下の情報を入力(ID の取得で表示された内容)
- calendarId:
organizerの値 - eventId:
eidの値
- calendarId:
- Execute を押下
- Google にログイン画面
- アカウントを選択 :ログインしているユーザーを選択
- Google APIs Explorer が Google アカウントへのアクセスをリクエストしています:許可
- 200 番台が返ってくること

API で予定の削除
これで削除済みのユーザーが主催者の予定を Google カレンダーから削除できました。
今回の例では Google API Explorer という、ブラウザ上の API リファレンスドキュメントから試験的に直接 API コールを実行できるツールを用いて実行しましたが、通常通り Python 等のプログラムから実行することもできます。今回の記事では、そちらの方法は割愛します。
トラブルシューティング
Calendar API の Events: delete を特権管理者ではないユーザーで実行すると 404 が返ってきます。
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "Not Found"
}
],
"code": 404,
"message": "Not Found"
}
}
藤岡 里美 (記事一覧)
クラウドソリューション部
数年前までチキン売ったりドレスショップで働いてました!2022年9月 G-gen にジョイン。ハイキューの映画を4回は見に行きたい。
Google Cloud All Certifications Engineer / Google Cloud Partner Top Engineer 2024
Follow @fujioka57621469