Successfully reported this slideshow.
Your SlideShare is downloading. ×

今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 64 Ad

今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介

Download to read offline

Microsoft のイベント de:code 2018 、AD33 セッション
「今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介」で使用したスライドです。

Microsoft Graph を使っている方も、初めて使うかたも、是非ご覧ください。

関連ブログ: Microsoft Graph を使ってみよう : 目次https://qiita.com/kenakamu/items/6a1ca508dc093779eefa

動画はそのうち公開予定です。

Microsoft のイベント de:code 2018 、AD33 セッション
「今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介」で使用したスライドです。

Microsoft Graph を使っている方も、初めて使うかたも、是非ご覧ください。

関連ブログ: Microsoft Graph を使ってみよう : 目次https://qiita.com/kenakamu/items/6a1ca508dc093779eefa

動画はそのうち公開予定です。

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to 今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介 (20)

Advertisement

More from Kenichiro Nakamura (20)

Recently uploaded (20)

Advertisement

今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介

  1. 1. 今更きけない!? Microsoft Graph で 始める Office 365 データ活用と 事例の紹介 AD 33
  2. 2. 中村 憲一郎 (kenakamu) ソリューションアーキテクト https://qiita.com/kenakamu 趣味: MCP を取ること 好きな技術は主に、C#, UWP, Xamarin, API, PowerShell, DB, Node.js https://github.com/kenakamu/
  3. 3. Microsoft Graph 本日の目標
  4. 4. ご説明すること
  5. 5. Microsoft Graph の概念 Microsoft Graph の使い方 Microsoft Graph の事例 ご説明すること
  6. 6. Microsoft Graph の概念 Microsoft Graph の使い方 Microsoft Graph の事例
  7. 7. Microsoft Graph https://graph.microsoft.com
  8. 8. Microsoft Graph 全ての Microsoft 365 の データ Office 365 Windows 10 EMS 全ての 1 つの /me
  9. 9. なぜ Microsoft Graph?歴史的背景 多くの Microsoft 製品 Exchange SharePoint Office Active Directory 異なる 複数の
  10. 10. なぜ Microsoft Graph?歴史的背景 Office 365 Unified API (REST) Azure AD 認証 (OAuth 2.0)
  11. 11. なぜ Microsoft Graph?歴史的背景 Microsoft Graph
  12. 12. Microsoft Graph 全ての Microsoft 365 の データ Office 365 Windows 10 EMS 全ての 1 つの
  13. 13. Microsoft Graph
  14. 14. Microsoft Graph
  15. 15. Microsoft Graph の概念 Microsoft Graph の使い方 Microsoft Graph の事例
  16. 16. Microsoft Graph の概念 Microsoft Graph の使い方 Microsoft Graph の事例 API 紹介 Tips
  17. 17. Microsoft Graph における認証 Azure AD アプリケーションは Azure AD に登録 OAuth 2.0 アクセストークン ベースの認可 OpenID Connect 認証情報の利用
  18. 18. アクセス許可の種類 委任されたアクセス ユーザーが明示的に アプリに権限を委任 /me が利用可能 アプリケーションアクセス 管理者による事前同意で サービスとして実行 /me が利用不可能
  19. 19. Read や ReadWrite 等の 操作 All, Shared 等の 操作の範囲制約 操作対象の リソース Microsoft Graph の権限
  20. 20. Microsoft Graph の権限
  21. 21. Azure AD の認証エンドポイント v1.0 エンドポイント 対象: Azure AD/ADFS 登録: portal.azure.com SDK: ADAL v2.0 エンドポイント 対象: Azure AD/B2C/MSA 登録: apps.dev.microsoft.com SDK: MSAL
  22. 22. アプリの種類 シナリオ 同意実行者 実際の権限 委任の権限 アプリケーション権限 モバイル、Web、SPA バックグランドサービス ユーザー権限は ユーザーが同意 管理者権限は 管理者が同意 管理者のみが同意可能 アプリに付与 された権限 全て サービスとして委任でユーザーの代理として 実際 の 権限 アプリに付与 された権限 ユーザーの 権限
  23. 23. デモ : アプリケーションの登録
  24. 24. デモ : MSAL を利用したアプリ
  25. 25. Microsoft Graph の概念 Microsoft Graph の使い方 Microsoft Graph の事例認証 API 紹介 Tips
  26. 26. Microsoft Graph を使った開発 試す Microsoft Graph エクスプローラー、 クイックスタート 学ぶ ドキュメントと API レファレンス 開発する SDK、サンプル、 ツール Open API 定義
  27. 27. Microsoft Graph ユーザー, グループ、組織 Outlook SharePoint OneDrive Teams Planner Excel OneNote Activities デバイスリレー コマンド 通知 Azure AD Intune Identity Manager Advanced Threat Analytics Advanced Threat Protection メール, 予定, 連絡先 サイト、リスト ドライブ、ファイル チャネル, メッセージ プラン、タスク スプレッドシート、グラフ ノート、ページ ID 管理 アクセス制御 同期 ドメイン 管理ユニット アプリケーションとデバイス ATA/ATP アラート ポリシー Office 365 Windows 10 EMS
  28. 28. Microsoft Graph ブラウザですぐ試せる 利用できるアカウント: サンプル 組織アカウント マイクロソフトアカウント オープンソース
  29. 29. デモ : Graph エクスプローラー
  30. 30. Microsoft Graph 操作 HTTP メソッド 説明 例 一覧表示 GET アイテム一覧の取得 GET /users 取得 GET 特定アイテムの取得 GET /users/{id} 作成 POST/PUT 新規アイテムの作成 POST /users/ PUT /me/activities/{id} 更新 PATCH/PUT アイテムの更新 PATCH /users/{id} PUT /me/activities/{id} 削除 DELETE アイテムの削除 DELETE /users/{id} 実行 POST 操作の実行 POST /domains/{id}/verify バッチ POST 複数要求の実行 POST /$batch
  31. 31. Microsoft Graph クエリ 説明 例 $filter 行のフィルター /users?$filter=startsWith(givenName,’J’) $select 列のフィルター /users?$select=givenName,surname $orderBy 結果の並べ替え /users?$orderBy=displayName desc $top ページサイズの設定 /users?$top=10 $expand 関連リソースの取得 /groups?$expand=members $count 条件にあうレコード数を取得 /me/messages?$top=2&count=true $search メールと人物に対して検索 /me/messages?$search=pizza
  32. 32. Microsoft Graph API
  33. 33. 1. ユーザーのプロファイル写真 要求 /photo/$value 応答 HTTP/1.1 200 OK
  34. 34. 2. OneDrive ファイルのサムネイル 要求 thumbnails 応答 HTTP/1.1 200 OK
  35. 35. 3. Microsoft Teams ライフサイクル
  36. 36. 4. Activities APIs と Windows タイムライン 要求 myAppActivityId { "appActivityId": "myAppActivityId", "appDisplayName": "MyApp", "activationUrl": "[protocol]://uri/", "visualElements": {..} "historyItems":[..] }
  37. 37. 5. Excel のグラフ画像 要求 image 応答 HTTP/1.1 200 OK
  38. 38. デモ : Excel のグラフ画像
  39. 39. 6. Microsoft Graph の拡張 オープン拡張 型が無いデータを 簡単に格納 スキーマ拡張 型を持ったデータを格納。 フィルターが行え共有しやすい
  40. 40. 7. レポート 要求 getOneDriveUsageFileCounts( period='D7’) 応答
  41. 41. 8. インテリジェント機能 人の関連 メールや会話の頻度 から、組織構造を超 えた関連を取得 ドキュメントのトレンド 自分に関係があり、 多くの人が見ている ドキュメントの抽出 最近使った、または 共有されたドキュメント 重度の高い ドキュメントの抽出
  42. 42. Microsoft Graph の概念 Microsoft Graph の使い方 Microsoft Graph の事例認証 API 紹介 Tips
  43. 43. TIP 1 | POST/PATCH/PUT 結果が必要ない 場合は応答を省略 不要なデータを削減 して パフォーマンス向上 Tip Prefer return=minimal 要求ヘッダーの指定
  44. 44. TIP 2 | 取得列の最適化 必要なプロパティ のみ指定 不要なデータを削減 して パフォーマンス向上 Tip $select の利用 GET ? $select=givenName,mail
  45. 45. TIP 3 | 取得行の最適化 必要なレコードのみ 取得 不要なデータを削減 して パフォーマンス向上 Tip $filter の利用 GET ? $filter=department eq ‘Sales’& $select=givenName,mail
  46. 46. TIP 4 | サーバー側で 返すレコード数 上限あり コレクション取得で ページングの可能性 常にあり Tip @odata.nextLink を 常に確認
  47. 47. 1. 常にページングされ ている前提をもつ 2. @odata.nextLink リンクで次のページを 取得 3. @odata.nextLink が 無くなった時点で全レ コードの取得完了 4. @odata.nextLink リンクは変更せず使 用
  48. 48. TIP 5 | Webhooks + 差分クエリ ポーリング以上に 最適化された 変更の追跡 最適なポーリング 間隔を 決めることが困難 Tip Webhook をトリガー 差分クエリで データを取得
  49. 49. @odata.nextLink ページング中 次ページのリンク @odata.deltaLink レコードは取得済 差分クエリのリンク
  50. 50. TIP 6 | Microsoft Graph PowerApps Office 用の テンプレート Microsoft Flow Office トリガーと Office コネクター Azure Functions Microsoft Graph バインディング
  51. 51. Microsoft Graph の概念 Microsoft Graph の使い方 Microsoft Graph の事例
  52. 52. 事例 1 | シナリオ 入社、異動、退社 などの人の動きや、 複数場所に散在する プロファイルの一元化 処理 各種プロパティの設定 ライセンスの付与 グループへの追加 情報の共有 初期タスクの追加 ネットワークの共有、 等 実装 Microsoft Flow Azure Function PowerShell、等
  53. 53. 事例 2 | シナリオ 顧客管理システムや、 他社内システムと Microsoft Teams の 連携 処理 チームの作成 プロパティの設定 所有者とメンバーの管 理 チームの削除 実装 Microsoft Flow Azure Function Bot Framework PowerShell、等
  54. 54. 事例 3 | シナリオ OneDrive、 SharePoint など 複数個所に散在する ドキュメントの資産化 処理 ファイルのコピー/移動 PDF へ変換 共有の開始/停止 実装 Webhook/差分クエリ Microsoft Flow Azure Function
  55. 55. 事例 4 | シナリオ 会議の開催から、 会議中の議事録、 および会議後の 情報共有 処理 参加者空き時間 会議室の予約 議事録の保存や共有 タスクの割り当て 実装 PowerApps カスタムアプリ
  56. 56. 事例 5 | シナリオ 客先訪問など、 移動を含んだ予定が 複数ある場合の 最適化 処理 予定の取得 移動情報の取得 予定の更新 前後予定の作成 実装 Webhook/差分クエリ Microsoft Flow Bot Framework Azure Function
  57. 57. 共通 | ベストプラクティス トリガー 手動 イベント発生時 タイマー 処理 データの取得 データの追加 他サービス連携 データをよりリッチに 実装 ユーザー操作 アプリの場所 サービス
  58. 58. まとめ
  59. 59. ご説明したこと
  60. 60. Microsoft Graph 本日の目標
  61. 61. Microsoft Graph
  62. 62. Microsoft Graph 今後の予定 新機能 クライアント通知 Teams 各種機能 Security API ベータから正式に 各種ベータは正式に 情報 Twitter Stack Overflow Blog ビデオ
  63. 63. https://graph.microsoft.com Twitter #MicrosoftGraph GitHub /MicrosoftGraph StackOverflow [MicrosoftGraph]
  64. 64. © 2018 Microsoft Corporation. All rights reserved. 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

×