ヘッダー画像

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

はじめに

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

カレンダー相互運用

前提条件

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

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

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

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

アカウントの準備

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

カレンダーの事前設定

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

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

カレンダー相互運用

GUIで行うカレンダーの設定は各ユーザのカレンダーで権限設定をしてください。コマンドベースでの実施は別記事に記載がありますのでご確認ください。

カレンダー相互運用

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

Google Workspace の管理画面にログインしてカレンダー相互運用設定画面を開きます。以下の箇所を入力します。

カレンダー相互運用を有効にするにチェックを入れる

種類をExchange Webサービス(EWS)を選択する

ExchangeウェブサービスのURLに[https://outlook.office365.com/EWS/Exchange.asmx]を入力

※Exchange Onlineの場合は固定のURL

アカウントの準備で用意したMicrosoft側の参照アカウント名入力

OAuth2.0クライアント認証情報(Exchange Online/Office365におすすめ)を選択

※Exchange Onlineの基本認証は22年停止されますので必ずOAuth2.0で設定してください

カレンダー相互運用

AzureADポータルでアプリの登録を開く

新規登録で名前を入力して登録ボタンをクリック(その他はいったんデフォルトのまま)

カレンダー相互運用

[エンドポイント]-[OAuth2.0トークンエンドポイント(v2)]の値をコピーします。

カレンダー相互運用

作成したアプリケーションのアプリケーションIDを控えておきます。

カレンダー相互運用

[APIのアクセス許可]-[+アクセス許可の追加]-[所属する組織で使用しているAPI]タブの検索窓で「Office 365 Exchange Online」を検索して選択して、[アプリケーションの許可]-[full_access_as_app]にチェックを入れて[アクセス許可の追加]ボタンをクリックします。

カレンダー相互運用

[✔テナント名に管理者の同意を与えます]をクリックして、同意の確認で[はい]をクリックします。

カレンダー相互運用

[証明書とシークレット]-[クライアントシークレット]-[新しいクライアントシークレット]-[説明]の入力と[有効期限]を選択して[追加]ボタンをクリックします。

※有効期限は最大24か月です。

カレンダー相互運用

作成された値をコピーしておきます。この値は一度画面遷移するとコピーできなくなりますので忘れずにコピーしておきましょう

カレンダー相互運用

Google Workspace 管理画面のOAuth2.0の設定情報にコピーした情報を入力します。

カレンダー相互運用

[予定の詳細を表示する]と[会議室の予約]にチェックを入れて[保存]をクリックします。Google側の設定はこれで完了です。ここまででGoogleカレンダーからExchange Onlineのカレンダーを参照することが可能になっているはずです。

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

カレンダー相互運用

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

Google側のカレンダー参照アカウントでログインして、ExchangeのカレンダーInteropツールを開きます。

※一般ユーザでアクセスするとエラーになって開けません。

[Exchange authentication credential generation]の[Execute]ボタンをクリックします。

カレンダー相互運用

[I understand that regenerating these credential will reboe any old credentials for the Google Role Account.]にチェックを入れて[Create new credentials]ボタンをクリックします。

カレンダー相互運用

許可するアカウントを選択して、[許可]をクリックします。

カレンダー相互運用

[Download↓]をクリックして、ファイルを保存します。

カレンダー相互運用

[Calendar Interop Tools]をクリックして元の画面に戻ります。[Exchange Server configuration]の[Execite]ボタンをクリックします。

カレンダー相互運用

先ほどダウンロードしたファイルを[Select the credential file for your Google Role Account.]に登録します。

[Which version of Exchange are you using?]で[Exchange 2013 or newer, including Office 365]を選択します。

[Enter the email of the local account on Exchange that Google Calendar can user to make OrgWide free/busy requests.]にMicrosoft側の役割アカウントを登録します。

[Enter the name of the Google availability address space you wish to add to Exchange.]にGoogleテナントで使っているドメイン名を入力します。

[Show Exchange setup]をクリックします。

カレンダー相互運用

Powershellのコードが表示されるので、表示されたコードをコピーしてExchange の管理シェルに貼り付けします。Exchange管理シェルへの接続方法はこちらをご確認ください。

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

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

カレンダー相互運用

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

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

まとめ

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

今回ご紹介した設定でGoogleとMicrosoft間は予定表の相互参照が可能になります。本記事が皆様の初期導入、運用管理、利活用の一助となりましたら幸いです。