CData Driver for Office 365 で会議室などの場所データに SQL でアクセスする方法

by 浦邊信太郎 | May 22, 2026 | Last Updated: May 22, 2026

Microsoft 365 テナントには、会議室や共有スペースといった「場所(Places)」の情報が管理されています。CData Driver for Office 365 Rooms ビューを使えば、Microsoft Graph API の複雑な認証・呼び出しを意識することなく、使い慣れた SQL を通じてこれらのデータを取得できます。会議室の一覧取得からキャパシティの確認まで、BI ツールやスクリプトから直接クエリするだけで完結します。

Microsoft Graph の Places API について

Microsoft Graph v1.0 の Places API は、組織内の物理スペースを統一的に管理・取得するためのエンドポイントを提供します。会議室(Room)以外にも以下の場所タイプをサポートしています。

場所タイプ

エンドポイント

会議室(Room)

/places/microsoft.graph.room

ワークスペース

/places/microsoft.graph.workspace

会議室リスト

/places/microsoft.graph.roomList

建物(Building)

/places/microsoft.graph.building

フロア(Floor)

/places/microsoft.graph.floor

デスク(Desk)

/places/microsoft.graph.desk

CData Driver for Office 365 の Rooms ビューはこの API を内部的に呼び出し、SQL でシームレスにアクセスできるように抽象化します。

設定手順

1. Azure AD アプリを登録する

場所情報を取得するにはAzure ADアプリの登録が必要です。ドキュメントを参考にアプリを作成してください。その際、API のアクセス許可に Place.Read.All を追加します。組織のデータを取得する場合はテナント管理者による同意(Admin consent)が必要です。

2. CData Driver for Office 365 の接続文字列を設定する

以下の接続文字列を参考に、対象テナントの情報を入力します。

JDBC の場合

String connectionString =
    "jdbc:office365:" +
    "InitiateOAuth=GETANDREFRESH;" +
    "OAuthClientId=[your_client_id];" +
    "OAuthClientSecret=[your_client_secret];" +

ODBC の場合(DSN)

プロパティ

説明

AuthScheme

AzureAD

InitiateOAuth

GETANDREFRESH を指定すると初回起動時に自動でトークンを取得

OAuthClientId

Azure AD アプリのクライアント ID

OAuthClientSecret

Azure AD アプリのクライアントシークレット

3. 接続を確認する

接続が成功したら、以下の SQL でテーブル一覧を確認しますRooms ビューが存在することを確認してください。

SELECT * FROM sys_tables

会議室データを取得する SQL クエリ

すべての会議室を取得する

SELECT *
FROM Rooms;

主要カラム一覧

カラム名

説明

Id

会議室の内部 ID

EmailAddress

会議室のメールアドレス

DisplayName

表示名(例: 「会議室 A」)

Nickname

短縮名

Capacity

収容人数

Building

建物名

FloorNumber

フロア番号

IsWheelChairAccessible

車椅子対応の有無

AudioDeviceName

音声デバイス名

VideoDeviceName

ビデオデバイス名

DisplayDeviceName

ディスプレイデバイス名

BookingType

予約種別(standard / reserved

Tags

タグ(複数の特徴を示すラベル)

Phone

電話番号

収容人数で絞り込む(10名以上の会議室)

SELECT DisplayName, EmailAddress, Capacity, Building, FloorNumber
FROM Rooms
WHERE Capacity >= 10
ORDER BY Capacity DESC;

車椅子対応の会議室を取得する

SELECT DisplayName, Building, FloorNumber, Capacity
FROM Rooms
WHERE IsWheelChairAccessible = 1;

ビデオ会議設備がある会議室を絞り込む

SELECT DisplayName, EmailAddress, VideoDeviceName, AudioDeviceName, Capacity
FROM Rooms
WHERE VideoDeviceName IS NOT NULL
ORDER BY DisplayName;

建物ごとの会議室数を集計する

SELECT Building, COUNT(*) AS RoomCount, SUM(Capacity) AS TotalCapacity
FROM Rooms
GROUP BY Building
ORDER BY RoomCount DESC;

まとめ

CData Driver for Office 365 の Rooms ビューを使うことで、Microsoft Graph の Places API を直接呼び出すことなく、標準 SQL を通じて会議室データにアクセスできますPlace.Read.All 権限の付与と接続文字列の設定を済ませれば、あとは馴染みのあるクエリで会議室の一覧取得・フィルタリング・集計が可能です。会議室の利用状況分析や施設管理ツールとの連携など、さまざまなシナリオで活用してみてください。