このページの本文へ

Windows Info 第95回

Microsoft Graphの動作を確認できる「Graphエクスプローラー」を試す

2017年07月30日 10時00分更新

文● 塩田紳二 編集● ASCII編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

Graphエクスプローラーで
Microsoft Graphの動作を確認する

 前回はMicrosoft Graphについての概説を行なったが、今回は実際の動作を見ていこう。Microsoft Graphを呼び出すプログラムを作ればもちろん試すことができるが、それはちょっと大変だ。そこでウェブブラウザから動作を試すことができる「Graphエクスプローラー」が用意されている。

みることができる

 これを使えば、用意されているサンプルアカウントで動作を見ることができるほか、自分のアカウントでログオンして自分の情報を見ることもできる。

 Microsoft Graphが対象にするのは、マイクロソフトのクラウド系サービスにあるユーザーと関連情報なのだが、2種類のアカウントを受け付ける。1つはOffice 365のアカウントで、こちらはAzure ADで管理されているものだ。この場合、対象になる情報(リソース)は、Office365とその関連サービスであるExchage OnlineやOneDrive for Businessとなる。

 もう1つのアカウントタイプはMicrosoftアカウントで、こちらはOutlook.comとOneDriveが対象となる。なお、Microsoftアカウントでは、Office365アカウントと違い契約している組織情報などが含まれない。また、アカウントが持つユーザーのプロフィール情報も限定されたものになる。その関係で、組織内のユーザー同士のやりとりを元に行なわれるMicrosoft GraphのInsight(推論)が一部動作しない。これらを試すにはサンプルアカウントを使う。

 まずは、以下のURLからGraphエクスプローラーを開いて見よう。

https://developer.microsoft.com/ja-jp/graph/graph-explorer

 この状態ですぐに動作が試せるので、ページ左側にあるサンプルクエリをクリックしてみよう。右側の白地の領域の上がMicrosoft Graphの機能を示すURLで下がその応答だ。

左側からサンプルクエリーを選べば、API用のURLが入力され、応答が下に表示される

 Microsoft Graphは、HTTPプロトコルを使ってURLで対象を指定、HTTPメソッドで処理方法を指定する。HTTP、Hyper Text Transfer Protocolには、GET、POST、PUT、DELETE、PATCHなどのメソッドがある。ウェブブラウザでページを開くときに使われるのがGETメソッド、アップロードを行うのがPUT、ページ内のフォームにテキストなどを入力してボタンを押したときに使われるのがPOSTメソッドなどに相当する。

 Microsoft Graphでは、GETメソッドが情報の取得、POSTが新規作成、DELETEが削除、PUTが置き換え、PATCHが部分書き換えという使い方になっている。ただし、どのメソッドが使えるのかは同時に指定するURLが示す対象(リソース)によって違う。そのあたりはすべて、Microsoft Graphのドキュメントに記載がある。これは、以下のURLで見ることが可能だ。

https://developer.microsoft.com/ja-jp/graph/docs

 なお、このページでは、ブラウザの横幅が狭いと左側の目次が省略表示になるので注意されたい。

応答にはJSONを使う

 GETメソッドを使うと、応答の本文(body)には、リソースに含まれる情報がJSON形式で入っている。

JSONは、文字列(ダブルクオートで括られている)や数値などの基本的な値や配列やオブジェクトといった構造を持つ値を組みあわせて複雑なオブジェクトを表現できる

 JSONとは、「JavaScript Object Notation」の略で、もともとはJavaScriptでオブジェクトデータを交換する場合のテキスト表現形式だった。この形式は、JavaScriptのeval関数で評価することで簡単にオブジェクトに変換することができた。ただし、現在では、JavaScript以外でも利用できるようになり、他の言語でも使われることが多い。特にインターネット上のサービスでは、APIで扱うデータをJSON形式としているものが多い。

 JSONは、「文字列」、「数値」、「真偽値」(trueとfalse)、「ヌル値」(null)という基本となる「値」に加え、「配列」と「オブジェクト」という構造を持つ「値」が定義されている。イメージ的には、テキストのフィールドからなるレコードを表現できるCSV(カンマ区切り形式)を拡張して複雑な構造を表現できるようにしたものといえる。

 「配列」は、要素となる「値」をカンマで区切って、“[”と“]”で囲ったもの。「オブジェクト」は、「文字列:値」という形式のメンバーをカンマで区切って“{”と“}”で囲ったものだ。配列もオブジェクトも「値」の一種なので、さらに配列やメンバーに入れることができ、複雑な構造が表現できる。

サンプルクエリを試す

 まずはサンプルクエリの「自分のメール」をクリックしてみると、大量の情報が下の領域(応答のプレビュー)に表示される。まずは、各メールの件名(subject)、受信日(receivedDateTime)、差出人(from)だけを応答させるようにしよう。それには、上部のURL欄に以下のものを入れてみる。

クエリー文字列に$selectを指定することで、応答に含めるプロパティを制限できる

https://graph.microsoft.com/v1.0/me/messages?$select=subject,receivedDateTime,from

 元々のURLの後に「?$select=subject,receivedDateTime,from」を付けたものだ。これは、3つのフィールドだけを応答させる指示(クエリー文字列)である。

 また、メールに対して検索を行うこともできる。デフォルトでは、検索キーワードだけを指定すると、「本文」、「件名」、「差出人」が対象となる。たとえば、

https://graph.microsoft.com/v1.0/me/messages?$search=davids

とするとdavidsという単語を含むメッセージのみが返ってくる。先ほどと同じく応答させるフィールドを限定するには、「&」で後に$selectを付ける。

$searchを使えば、応答の中から特定の文字列を含むものを取り出せる

https://graph.microsoft.com/v1.0/me/messages?$search=davids&$select=subject,receivedDateTime,from

 このクエリー文字列は、OASYSが既定したODataという仕様に準拠している。Microsoft Graphでは、下の表のようなクエリー文字列をサポートしている。

パラメーターなどについては、「OData Version 4.0. Part 2」を参照(http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-errata03-os-part2-url-conventions-complete.html)

 Microsoft Graphでは、応答が多数の場合、リソースによっては、ページに分割されて応答が戻る。たとえば、組織内の全ユーザーに対応するusersリソースは大量の応答があるが、自分のすべてのメールme/messagesリソースは、標準では10件/ページに分割されて応答が戻る。応答が複数のページに分割されているかどうかは、応答に「@odata.nextlink」プロパティが含まれているかどうかで判断できる。また、最初から大量の応答が予想される場合、$topを使って、ページに分割して送信させることもできる。

 Microsoft Graphでは、$count=trueというクエリー文字列を付けることで、応答の総数を「@odata.count」プロパティとして応答に含めることができるが、これはdirectoryObject(Azure ADのオブジェクト。たとえばusersリソース)などに対しては適用できない。

「$count=true」をクエリー文字列に含めると応答に「@odata.count」というプロパティが含まれ、応答の総数を得ることができる

 大量の情報が含まれる場合、これを数え上げる負荷が大きくなるため制限があるのだと考えられる。また、総数は応答に含まれるため、事前に総数だけを知ることができない。大量の応答が返ってくる場合、場合によってはクライアント側のメモリ不足や大量の通信などを引き起こす可能性もあり、最初から$topを使って複数ページに分割してしまったほうがよい場合がある。

 これまでマイクロソフトは、クラウドサービスに対して、個々にAPIを定義してきた。たとえば、OneDrive用、Office 365用、Exchange、SharePoint、Azure ADなどだ。しかし、OneDriveのAPIなどに関しては、今後はMicrosoft Graphを介してAPIを利用することを推奨するなど、APIをMicrosoft Graphに統合しつつある。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - インディゴ
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - インディゴ
¥95,768
2
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - スカイブルー
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - スカイブルー
¥176,465
3
Lenovo ノートパソコン パソコン IdeaPad Slim 3 15.3インチ AMD Ryzen™ 7 7735HS メモリ16GB SSD512GB MS Office搭載 Windows11 バッテリー駆動17.4時間 重量1.59kg ルナグレー 83K700HAJP ノートPC
Lenovo ノートパソコン パソコン IdeaPad Slim 3 15.3インチ AMD Ryzen™ 7 7735HS メモリ16GB SSD512GB MS Office搭載 Windows11 バッテリー駆動17.4時間 重量1.59kg ルナグレー 83K700HAJP ノートPC
¥164,780
4
【整備済み品】 富士通 タブレット ノートパソコン ARROWS Tab V727 12.3インチ 中古 タブレット【Windows 11 】【MS Office2019 H&B 搭載 】第7世代 Core M3/ メモリ 4GB / SSD 128GB /無線LAN/HDMI/LTE/タッチペン 付属(整備済み品)
【整備済み品】 富士通 タブレット ノートパソコン ARROWS Tab V727 12.3インチ 中古 タブレット【Windows 11 】【MS Office2019 H&B 搭載 】第7世代 Core M3/ メモリ 4GB / SSD 128GB /無線LAN/HDMI/LTE/タッチペン 付属(整備済み品)
¥11,800
5
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥35,129

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,373
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
4
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,080
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,899
7
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,599
8
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥6,550
9
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥1,299
10
Apple 11 インチ iPad (A16): 11 インチモデル、Liquid Retina ディスプレイ、128GB、Wi-Fi 6、12MP フロント/12MP バックカメラ、Touch ID、一日中使えるバ ッテリー - ブルー
Apple 11 インチ iPad (A16): 11 インチモデル、Liquid Retina ディスプレイ、128GB、Wi-Fi 6、12MP フロント/12MP バックカメラ、Touch ID、一日中使えるバ ッテリー - ブルー
¥56,364

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン