【トレーニング コース】Microsoft Graph API

# Microsoft Graph API トレーニング コース

この記事は、これまでに投稿した Microsoft Graph API に関する記事の一覧です。

Graph API を利用したことの無い管理者の方やテクニカルサポートに新たに配属された方が、Graph API の概要から各機能について学ぶための自習用コンテンツとしてご利用いただければ幸いです。

基礎編と応用編で合計 7 つのセクションから構成されています。

1. 基礎編
   1.1 [Graph API の概要](#11-graph-api-の概要)
   1.2 [Graph Explorer の使い方](#12-graph-explorer-の使い方)
   1.3 [アプリケーション許可権限](#13-アプリケーション許可権限)
2. 応用編
   2.1 [Graph PowerShell](#21-graph-powershell)
   2.2 [Teams Graph API](#23-teams-graph-api)
   2.3 [リソースの変更を検知する](#22-リソースの変更を検知する)
   2.4 [Graph アクティビティ ログ](#24-graph-アクティビティ-ログ)

Graph API についてはじめて学習する方は基礎編から、Graph API や PowerShell について事前知識がある方は応用編からご覧ください。

::: note
各セクションは以下のように進めていただければと思います。
1. 記載されているリンクから各記事の内容を読んでください
1. 確認問題に挑戦してください
1. 合格したら次のセクションに進んでください
:::

※ 応用編では PowerShell スクリプトを使って Graph API を実行します。
記事に記載しているスクリプト例はコピー & ペーストで実行できるようにしていますが、PowerShell スクリプトについて知識があるとより理解が深まるかと思います。

(参考：PowerShell でのスクリプト作成の概要)
https://learn.microsoft.com/ja-jp/training/modules/script-with-powershell/

# 1. 基礎編

## 1.1 Graph API の概要
<details><summary>Graph API の概要と 2 種類のアクセス許可について学習します。</summary>

::: note
このセクションの内容

* Graph API の概要
* Graph API の活用例
* ユーザー委任権限とアプリケーション許可権限の違い
:::

| 1.1 Graph API の概要 |
|:--|
| [1-1-1 Graph API とは](https://qiita.com/atsmin77/items/9b1a47a07c624fcb6015)  |
| [1-1-2 アクセス許可について](https://qiita.com/atsmin77/items/31df2f5624840b45dda0) |

### 1.1 確認問題

[![thumbnail](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/2d47bc43-9e30-4bd0-8a7f-d964ef0ae869.png)](https://public.learningbox.online/?action=embed&id=7072526)

</details>

## 1.2 Graph Explorer の使い方
<details><summary>Graph Explorer を使ってユーザー委任権限で Graph API を実行する方法を学習します。</summary>

::: note
このセクションの内容

* Graph Explorer の使い方
* 管理者の同意が必要なアクセス許可について
:::

| 1.2 Graph Explorer の使い方 |
|:--|
| [1-2-1 Graph Explorer (1)：基本的な使い方](https://qiita.com/atsmin77/items/a1d53031b120da5d9697)  |
| [1-2-2 Graph Explorer (2)：管理者の同意](https://qiita.com/atsmin77/items/b6bd8def4b9ddc5ab49b) |

### 1.2 確認問題

[![thumbnail](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/47899735-2cde-45ba-b3f7-e5caff9ff5ff.png)](https://public.learningbox.online/?action=embed&id=7072535)

</details>

## 1.3 アプリケーション許可権限
<details><summary>アプリケーション許可権限で Graph API を実行する方法を学習します。</summary>

::: note
このセクションの内容

* Entra ID アプリケーションの登録方法
* Entra ID アプリケーションへのアクセス許可の追加方法
* アクセストークンの取得方法
* Insomnia のインストールと Graph API の実行方法 
:::

| 1.3 アプリケーション許可権限 |
|:--|
| [1-3-1 アプリケーション許可権限 (1)：事前準備](https://qiita.com/atsmin77/items/a31198368c4a570b801a)  |
| [1-3-2 アプリケーション許可権限 (2)：Graph API の実行](https://qiita.com/atsmin77/items/b4ab7c00ce1bb8544f90) |

### 1.3 確認問題

[![thumbnail](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/0cf2b2c5-4ef2-4405-838c-453e29f1022e.png)](https://public.learningbox.online/?action=embed&id=7073022)

</details>

# 2. 応用編

## 2.1 Graph PowerShell
<details><summary>Graph PowerShell SDK を使って Graph API を実行する方法を学習します。</summary>

::: note
このセクションの内容

* Graph PowerShell SDK の概要
* Graph PowerShell SDK のインストール方法
* ユーザー委任権限で実行する方法
* アプリケーション許可権限で実行する方法
:::

| 2.1 Graph PowerShell |
|:--|
| [2-1-1 Graph PowerShell (1)：インストール (オンライン / オフライン)](https://qiita.com/atsmin77/items/264d10bd9d7e9dfeaace)  |
| [2-1-2 Graph PowerShell (2)：認証 (ユーザー委任権限)](https://qiita.com/atsmin77/items/09162cffd26618c8083f) |
| [2-1-3 Graph PowerShell (3)：認証 (アプリケーション許可権限)](https://qiita.com/atsmin77/items/6bcc9fb88b305e124399)  |
| [2-1-4 Graph PowerShell (4)：Graph API の実行](https://qiita.com/atsmin77/items/933b9a08791aed639d38) |

### 2.1 確認問題

[![thumbnail](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/0c770cac-2311-4b9b-9b06-96bd11b84e68.png)](https://public.learningbox.online/?action=embed&id=7073622)

</details>

## 2.2 Teams Graph API
<details><summary>Microsoft Teams の運用管理でよく使う Graph API について学習します。</summary>

::: note
このセクションの内容

* Graph API で Teams のメッセージの送信とエクスポートを行う方法
* Teams 会議の出席者レポートやレコーディングをダウンロードする方法
* Teams アプリの場合に使用するアクセス許可 (RSC) について
:::

| 2.2 Teams Graph API |
|:--|
| [2-2-1 Teams エクスポート API](https://qiita.com/atsmin77/items/2aec1b2a10a4769ebc47)  |
| [2-2-2 Teams 会議の情報を取得する](https://qiita.com/atsmin77/items/7360b077efd4f6220bd1) |
| [2-2-3 Teams アプリのアクセス許可 (リソース固有の同意：RSC)](https://qiita.com/atsmin77/items/bd119ed043e6ef3d91c3) |

### 2.2 確認問題

[![thumbnail](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/274e0898-3aa7-4bcb-936c-ea0756f61941.png)](https://public.learningbox.online/?action=embed&id=7074632)

</details>

## 2.3 リソースの変更を検知する
<details><summary>Graph API を使ってテナント内のリソースが変更されたことを検知する方法を学習します。</summary>

::: note
このセクションの内容

* リソースの変更を検知する 2 種類の方法の違い
* Microsoft Graph 変更通知を使用した検知方法
* デルタ クエリを使用した検知方法
:::

| 2.2  リソースの変更を検知する |
|:--|
| [2-3-1 リソースの変更を検知する (1)：Webhook 変更通知](https://qiita.com/atsmin77/items/8379b5328ae6e5a09e53)  |
| [2-3-2 リソースの変更を検知する (2)：デルタ クエリ](https://qiita.com/atsmin77/items/1c175906f1878ba67799) |

### 2.3 確認問題

[![thumbnail](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/25a266d9-d074-46f9-940e-aa8d5c46c5f8.png)](https://public.learningbox.online/?action=embed&id=7074793)

</details>

## 2.4 Graph アクティビティ ログ
<details><summary>監査等で利用できる Graph API の実行ログを記録して、検索する方法を学習します。</summary>

::: note
このセクションの内容

* Graph アクティビティ ログの記録方法
* Graph アクティビティ ログの検索方法
:::

| 2.4 Graph アクティビティ ログ |
|:--|
| [2-4-1 Microsoft Graph アクティビティ ログ](https://qiita.com/atsmin77/private/ef74dd7db011941b73a8)  |

### 2.4 確認問題

[![thumbnail](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/8f836f27-0648-4471-b376-f1df025e50f2.png)](https://public.learningbox.online/?action=embed&id=7074812)


</details>