GoogleカレンダーとExchangeカレンダーの相互運用

目次

はじめに

会社で利用するシステムは多岐にわたります。グループウェアに関しても同様です。本来なら1つのグループウェアを全社的に利用することが理想ではありますが、いろいろな事情からシステムを分断する必要が出る場合があります。今回の記事ではGoogleとMicrosoftを両方利用しなければならなくってしまった会社様向けにカレンダーの相互運用について触れていきます。

カレンダー相互運用

前提条件

Google Workspaceが標準機能で持っている相互運用機能を実装します。この記事ではExchange Onlineとの相互参照を行うことを前提としています。また、相互運用は下記のサービスと実装することが可能になっています。

  • オンプレミスExchangeサーバ
  • Exchange Online

またカレンダーの相互運用におけるシステム要件はメーカーサイトをご確認ください。

両システムで同じドメインで運用されている場合、予定参照を実現するために別のドメインエイリアスアドレスを追加する必要があります。

2026年10月1日よりExchange Online向けのExchange Web Service(EWS)の利用ができなくなります。カレンダーの相互運用するにあたりEWSを利用して実現していたものになり、今後Microsoft Graphでの接続に変更する必要があります。

アカウントの準備

相互運用を実現するためにGoogleとMicrosoftの両方に予定表を参照するためのユーザーを準備する必要があります。予定表を参照するだけのユーザーなので管理者権限は必須ではありません。作業の便宜上管理者権限で実装してしまうことが多いかもしれません。

カレンダーの事前設定

予定表を参照するユーザーにはライセンスが割り当たっている必要があります。参照のユーザーに予定表を閲覧できる権限を割り当ててください。

GUIで行うGoogleカレンダーの設定は各ユーザのカレンダー設定画面で権限設定をしてください。参照ユーザーに個別に閲覧権限をつけていただいても、テナント全体に参照権限をつけていただいてもどちらでも問題ありません。

Googleカレンダー 権限設定

GUIで行うカレンダーの設定は各ユーザのカレンダーで権限設定をしてください。

GoogleからMicrosoftへの予定表参照設定

Google WorkspaceからMicrosoft365(Exchange)の予定表を参照する設定を行います。

STEP
Entra ID管理センターにログインします。

EntraID管理センターへのログイン

STEP
[アプリ登録]→[+新規登録]をクリックします。
Entra ID アプリ登録
STEP
[名前]を入力して[登録]をクリックします。
Entra ID アプリ登録
STEP
[アプリケーション(クライアント)ID]の値と[ディレクトリ(テナント)ID]の値をメモ帳などにコピーします。
Entra ID アプリ登録

ここの値は後程利用しますので忘れずにコピーしておきましょう

STEP
[証明書とシークレット]→[+新しいクライアントシークレット]→[説明]に値を入力して、[有効期限]を選択したら[追加]をクリックします。
Entra ID アプリ登録

有効期限は半年がメーカー推奨値ではありますが、何度も更新するのも面倒なのでいったん2年にしてしまってます

STEP
クライアントシークレットの値をメモ帳などにコピーします。
Entra ID アプリ登録

ここの値は後程利用しますので忘れずにコピーしておきましょう

STEP
[APIのアクセス許可]→[+アクセス許可の追加]をクリックします。
Entra ID アプリ登録
STEP
[Microsoft Graph]をクリックします。
Entra ID アプリ登録
STEP
[アプリケーションの許可]をクリックして対象の権限にチェックを入れたら[アクセス許可の追加]をクリックします

Calendars.ReadBasic.AllとPlace.Read.Allにチェックを入れてください。

Entra ID アプリ登録

Microsoft側の設定は以上です。続いてGoogle側の設定を行います。

STEP
GoogleカレンダーにExchangeユーザーの空き時間情報の表示を許可するを[オン]にします。

Google Workspace管理センターにアクセスして、カレンダー相互運用管理メニューを開きます。

カレンダー相互運用管理
STEP
[Exchangeエンドポイントの追加]リンクをクリックします。
カレンダー相互運用管理
STEP
エンドポイントのタイプでMicrosoft365(Graph API)を選択して、以下の値を入力して、[追加]をクリックします。

Exchangeのドメイン名:xxxxxxx.co.jp
Exchangeのロールアカウント:アカウントの準備で作成したExchangeのアカウント
テナントID:STEP4で取得した値
アプリケーション(クライアント)ID:STEP4て取得した値
クライアントシークレット:STEP6で取得した値

カレンダー相互運用管理
STEP
予定表の詳細をすべて表示とリソースの予約にチェックを入れて[保存]をクリックします。

施設予約の利用がない場合はリソースの予約にチェックは必要ありません。

実際にExchange Onlineの予定表を参照する場合は、参照したい予定表のメールアドレスを直接入力する必要があります。

Googleカレンダー ユーザーを検索

MicrosoftからGoogleの予定表参照設定

Microsoft365(Exchange)からGoogleカレンダーの予定を参照する設定を行います。

STEP
Google Workspaceの管理センターからカレンダー相互運用管理の設定を開き、[Exchange Serverの設定を生成する]をクリックします。
ExchangeからGoogleカレンダーを参照
STEP
[新たに生成]リンクをクリックして、[Googleのロールアカウント]を入力して、[これらの認証情報を再生成すると、…]にチェックを入れて、[新しい認証情報を生成]をクリックします。
ExchangeからGoogleカレンダーを参照
STEP
[ダウンロード]をクリックします。
ExchangeからGoogleカレンダーを参照
STEP
ダウンロードしたファイルを[ファイルを選択]をクリックして選択し、ExchangeのローカルメールアカウントとGoogleの可用性アドレススペースの値を入力して、[EXCHANGEの設定を表示]をクリックします。

Googleの可用性アドレススペースに入れる値はExchange側のドメインと同じにならないようにしてください。同一ドメインを利用している場合は、サブドメインなどをエイリアスに設定して別のドメインになるように調整してください。

ExchangeからGoogleカレンダーを参照
STEP
画面下部のスクリプトをコピーしてPowershellを実行して、[EXCHANGEサーバーを設定済み]をクリックします

Exchange OnlineのPowershellモジュールを事前にインストールしてください。

ExchangeからGoogleカレンダーを参照

Exchange OnlineからGoogleの予定表を参照する場合は、外部連絡先に対象のGoogleユーザが登録されている必要があります。

Microsoft365管理センターから[ユーザ]-[連絡先]で対象のユーザを登録してください。

Exchange Online 連絡先設定

Exchange OnlineからGoogleの予定表を参照するには[予定表の追加]-[ディレクトリから追加]で追加します。

ここまででGoogle側の予定も閲覧できるようになっているはずです。

まとめ

どれだけニーズがあるのか謎の記事を書いてみましたが、社内情報システムは立場が弱く言われるがままにシステムが増えていってしまうことも往々にしてあると思ってます。グループウェアはシステムが分かれることで不都合が生まれることが多々あります。その中の代表例が予定表の参照ができないことだと思います。

今回ご紹介した設定でGoogleとMicrosoft間は予定表の相互参照が可能になります。次の記事ではGoogleカレンダーからExchangeの施設予約を実装してみたいと思います。

弊社では、サービスの新規導入、設計変更や運用のご支援を行っております。サービス提供ご希望のお客様は下記よりお問い合せください

この記事を書いた人

大塚 英正のアバター 大塚 英正 エンジニア

主にMicrosoft365とGoogle Workspaceの販売と導入をやっています。

目次