Microsoft Graphでは、URLで機能を指定する。このURLには、現在のところ、正式版であるv1.0系と、ベータ版の大きく2種類がある。基本的には、ベータ版は、v1.0のURLを含み、さらにいくつかの「機能カテゴリ」が追加されている。これをまとめたのが下の表である。

Microsoft Graphの機能カテゴリ。
Microsoft Graphの機能カテゴリ。
[画像のクリックで拡大表示]

 まずは、正式版であるv1.0に用意されている機能から見ていこう。マイクロソフトのドキュメントでは、カテゴリとして「ユーザー」「グループ」「Azure Active Directory」「Excel」「OneDrive」「OneNote」「Outlookカレンダー」「Outlookカレンダー」「Outlookメール」「個人用連絡先」「Planner」(企業向けOffice 365で提供されているタスク管理サービス)といったクラウドサービスに対応したURLと「添付ファイル」「オープン拡張機能」「スキーマ拡張機能」「Webhook」といった補助機能がある。

 Microsoft GraphのURLのURLパスで指定される対象を「リソース」という。例えば、先ほどの表の「ユーザー」サブカテゴリの下に「users」というリソースがある。これに対する処理を行う場合には、「https://graph.microsoft.com/v1.0/users」というURLを指定する。こうしたリソースに関する解説はMicrosoft Graphの文書ページ(https://developer.microsoft.com/ja-jp/graph/docs/)にある。

Microsoft Graphで利用するURLは、ホスト名以下にバージョン、リソースを指定する。場合によってはクエリ文字列を使って応答数を制限することもできる。
Microsoft Graphで利用するURLは、ホスト名以下にバージョン、リソースを指定する。場合によってはクエリ文字列を使って応答数を制限することもできる。
[画像のクリックで拡大表示]
Microsoft Graphの文書ページ。ブラウザーの幅が狭いと左側の目次が表示されなくなる。
Microsoft Graphの文書ページ。ブラウザーの幅が狭いと左側の目次が表示されなくなる。
[画像のクリックで拡大表示]

 基本的に「ユーザー」「グループ」「Azure Active Directory」「Planner」は、企業向けのOffice 365で利用するもの。企業向けのOffice 365は、組織単位で契約し、ユーザー管理は、Azure AD(Active Directory)で行われる。なお、「Excel」「OneDrive」「Outlookメール」「個人用連絡先」は、個人のMicrosoftアカウントでも使える。

 補助機能は、例えばメッセージの「添付ファイル」、予定表や連絡先などの独自項目を定義できる「オープン拡張機能」や「スキーマ拡張機能」などがある。

 Webhookは、リソースに変更があった場合に通知を受け取るためのもの。例えば、メールやチャットの新規メッセージ受信のタイミングで、あらかじめクライアント側で指定したURLにPOSTで通知が送られる。これを使うことで、サービスを常にチェックする必要がなく、更新が行われたあとに通知を受信できる。

 リソースによっては、「Deltaクエリー」が行える場合がある。Deltaクエリーとは、前回の問い合わせ以後に更新、追加された項目を得るための機能だ。

 Deltaクエリーでは、1度リソース内の項目の列挙を行い、最後に「deltalink」と呼ばれるURLを受け取る。このdeltalinkには、列挙要求や列挙させたときの日時や列挙した項目などの情報が含まれている。