BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース アプリケーションが必要なすべてのデータに接続できるMicrosoft Graph

アプリケーションが必要なすべてのデータに接続できるMicrosoft Graph

ブックマーク

原文(投稿日:2018/05/30)へのリンク

読者の皆様へ: 皆様のご要望にお応えするべく、ノイズを削減する機能セットを開発しました。皆様が関心をお持ちのトピックを、EメールとWeb通知で受け取ることができます。新機能をぜひお試しください。

Microsoft 365エコシステムのプリンシパルプログラムマネージャであるYina Arenas氏が、BUILD 2018のセッションで、重要なアプリケーションデータにMicrosoft Graphを接続する方法について説明した。Microsoft Graphを使うことで、アプリケーション開発者は、ユーザがアプリケーションの実行ではなく、タスクの完遂に集中できるように支援することが可能になる。講演はBuild 2018 Microsoft Graphの発表、Microsoft Graphの使用を開始する方法、使用するツールの他、主要なAPIとそれらを使用する上でのヒントを中心に行われた。

Microsoft Graphはなぜ重要なのか?

1日に生成される大量のデータには、おもに3つの種類がある。ドキュメントやユーザプロファイルのように静的な意図的(intentional)データ、その供給元である会話型(conversational)データ、対話した人のような信号としての周辺(ambient)データだ。周辺データからは洞察を抽出することができる。このようなデータの集合体がMicrosoft Graphに取り込まれるのだ。

Microsoft Graphはユーザが所有し管理する、このデータへのゲートウェイである。あなたがMicrosoftの契約ユーザやビジネス関係者、あるいは一般ユーザならば、あなたのデータはすでにMicrosoft Graphの中にある。現時点では、このデータはOffice 365、Windows 10、Enterprise Mobility and Securityからのものだ。データは、ユーザのMicrosoft ID、ユーザが作成したリッチコンテキスト、さまざまなシグナルからの深い洞察(deep insights)、グラフに組み込まれた通知からのリアルタイム更新で構成されている。Webアプリ、ネイティブアプリ、Bot、あるいはバックグラウンドプロセスのいずれからも、グラフのデータにアクセスすることが可能だ。

将来的に、Microsoft Graphに対するユーザの視点からアプリケーションを取り除き、ユーザが達成しようとする実際のタスクに重点を移行させるため、Microsoftでは、Microsoft Graphにアクセスするアプリケーションについて言及する場合に、アプリケーションではなく“エクスペリエンス”という用語を使い始めている。

開発者にとってのチャンス

Microsoft Graphには、ひとつのエンドポイントとひとつの認証キーを持ったREST APIでアクセスする。データがIntune、SharePoint、あるいはその他のアプリケーションからのものであっても、グラフにはひとつのSDKでアクセスできる。

ExcelやBot、Microsoft Teamのカード、SharePointページのWeb Parts、Windows Timelineなど、Microsoft Graphを使用しているエクスペリエンスに対して、アドインを使って、そのグラフにデータを追加することができる。グラフにデータを追加する独自のエクスペリエンスを構築することも可能だ。

ISVが手にするチャンスの規模を理解するものとして、Fortune 500企業の90パーセントが、Microsoft Graph上にデータを所有しているという事実がある。Office 365には1億3500万のアクティブユーザがあり、これらのサービスを使用して毎月450億のユーザが認証されている。Office 365は181ヶ国で、6500万台のデバイスにインストールされている。Office 365を使用して、毎月10億のミーティングがスケジュールされている。

AzureからMicrosoft Graphにマネージドアクセスが可能なサービスがある。

BUILDでの発表

新機能に加えて、新たなデータセットも数多く用意されている。

その中で重要なのは、開発者がWindows Timelineに独自のアクティビティを設定可能なアクティビティAPIである。予定を記入するBooking APIと、改訂されたTeams APIがある。また、Outlook内でタイムゾーンや言語、業務時間、メッセージルールを利用できるようになった。

新機能で注目されるのは、ユーザとグループ、ユーザとグループ用のWebhook、Azure AD Syncのデルタクエリである。また、バッチ処理の制限が拡大された。より詳しい情報はブログビデオ、Microsoft Graphの変更ログにある。

始めるには

開発者ポータルに、アプリケーションやサービスのサンプルがある。.NET以外のプラットフォームでの作業を支援する“クイックスタート”や、Microsoft Graphに関するドキュメントも提供されている。Graph Explorerを使えば、リクエストを指定して、利用可能なデータに基づいたレスポンスを確認することが可能だ。サンプルデータを使用することも、自身のデータを使用することもできる。ベータ版へのリクエストを見ることも可能だ。自身のデータを使用している場合は、データの変更もできる。Graph Explorerのコードはオープンソースとして公開されている。

Microsoft Graphを使用した開発

現在のMicrosoft GraphのAPIには、Office 365、Windows 10、Enterprise Mobility and Securityの3つのサービスがある。

講演では、Microsoft Graphで可能ないくつかの例が紹介された。

最も簡単なものは、ユーザプロファイルの画像を使ってユーザエクスペリエンスをカスタマイズすることだ。リクエスト GET https://graph.microsoft.com/v1.0/me/photo/$value HTTP/1.1 を送信すると、 レスポンスのContent-Typeとしてイメージが返される。ユーザのMicrosoft Identityを使用すれば、サービス毎に新たなフォームでログインしなくても、パーソナライズされたエクスペリエンスを提供することができる。

OneDrive APIは個人のOneDriveに加えて、SharePoint内でも利用することができる。ファイルの列挙や検索、大規模ファイルのアップロードとダウンロード、非同期コピー、OneDrive間の移動、パーミッションやリンクの管理、バージョン、PDFへの変換、データ紛失の防止などが可能だ。

Outlook APIでは、メッセージとカレンダにアクセスできる。メールボックスの管理に加えて、メールと添付ファイルの全文検索、ワークフローを作成するためのワークルールの定義、カテゴリの作成ができる。カレンダの管理に加えて、複数の出席者と会議室を使った会議のスケジュールが可能だ。アダプティブカードを使用して、アクション可能なメッセージを送信することもできる。アダプティブカードはJSONベースのスキーマを使っていて、Bot Framework、Cortana、Outlook、Microsoft Teams、Skype、Windowsタイムラインと通知でレンダリングすることが可能だ。

セキュリティ警告を管理することも簡単にできる。

グラフ内のすべてのデータソースからのデータを統合するような、アプリケーションの開発も可能だ。講演では、そのようなアプリケーションを開発する方法の例をいくつか紹介した。

Dynamics 365、Office 365、およびPower Biのようなスタンドアロンアプリケーション用に、事前にビルドされたMicrosoft Graphへのコネクタも用意されている。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT