Microsoft Graph とは
Microsoft のサービスである Office 365 や Azure AD など、様々なサービスのデータをグラフ形式で扱えるエンドポイントです。グラフ形式でデータを扱えるので、「自分の予定」や「自分の上司」などデータを関連から取得できます。
Microsoft Graph は以下のような機能を提供します。
- 単一の API (https://graph.microsoft.com) を提供
- 共通の認証方式
- 業界標準の REST/OData/JSON/OAuth での開発が可能
- ユーザー認証およびアプリケーション認証のサポート
- グラフ形式でのデータアクセス
- データの CRUD (作成、読み取り、更新、削除)、ページング、バッチ処理、関数実行などをサポート
- 関連の高い人やドキュメントのトレンドなど、インテリジェントなデータを取得可能
- 変更履歴の取得をサポート
- カスタムデータの追加が可能
- Office 365 の使用状況などが分かるレポート機能
- 複数言語をサポート、また各種 SDK とサンプル
- Graph エクスプローラー: GUI で簡単に試せるツール
バージョン
現在 Microsoft Graph は以下のバージョンが利用できます。
ベータ版
- https://graph.microsoft.com/beta で公開
- プレビュー段階の機能を提供
- 随時重大な変更が発生する可能性があるため、本番利用は非推奨
- 現行バージョンに採用されるかは未定
一般提供バージョン
- 現在は v1.0 として https://graph.microsoft.com/v1.0 で公開
- 本番環境で利用が可能
※サポートライフサイクル
Microsoft Graph のバージョン管理、サポートと重大な変更の方針 を参照。
Microsoft Graph で扱えるサービスやデータセット
現時点で既に非常に多くのサービスやデータセットをサポートしています。また今後もどんどん追加される予定です。このブログでも主なものは紹介していきます。
- ユーザーおよびグループ
- Outlook (予定表、メール、タスク)
- OneDrive
- OneNote
- Excel
- Microsoft Teams
- プランナー
- SharePoint
- Azure AD
- Intune
- Microsoft ブッキング
- ソーシャルインテリジェンス
- インサイト
- クロスデバイスエクスペリエンス
- セキュリティ関連
- レポート
連携するサービス
各種言語の SDK があるだけでなく、Microsoft の各種サービスとも連携が可能です。以下に一例を紹介します。
- PowerApps : Graph 用のテンプレートが提供されます
- Flow : 各種リソースの操作がコードレスで行えます
- Azure Function : Graph 用のバインディング
- Bot Framework : Azure AD 用のコネクター
まとめ
Microsoft Graph は、ただ Office 365/Windows 10/EMS のデータ操作ができるだけではなく、拡張することでカスタマイズしたり、インテリジェントな機能やクロスデバイス体験サポートなど、次々と新機能を提供してきていますので、開発者にとっても目が離せない API だと感じます。
参照
Microsoft Graph の概要 オフィシャルドキュメント
Graph エクスプローラー
Microsoft Graph: Connect to essential data every app needs : Build 2018 (英語)