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)が必要です。

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

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 アプリのクライアントシークレット

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

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 権限の付与と接続文字列の設定を済ませれば、あとは馴染みのあるクエリで会議室の一覧取得・フィルタリング・集計が可能です。会議室の利用状況分析や施設管理ツールとの連携など、さまざまなシナリオで活用してみてください。