Microsoft Graph API を使用してクラス ノートブックとサイトを大規模にプロビジョニングする

Microsoft がすべての製品とサービスのセキュリティ体制を強化するにつれて、API 機能に対する最近の 変更 が行われ、以前は API を使用して Class Notebook をプロビジョニングするためにアプリのみのアクセス許可に依存していたお客様に影響を与える可能性があります。

サポートされている代替方法に従うことで、Microsoft Graph API を使用してサイトとノートブックを大規模にプロビジョニングできます。 この記事では、手順の概要を説明し、関連するドキュメントへのリンクを示します。

概要

クラス ノートブックと SharePoint サイトの大規模なプロビジョニングを続行するには:

  1. 新しいサイトを 作成するときに CreateEducationClass API を使用する (クラスごとに 1 つのグループ/サイト)
  2. 既存のサイトの場合は、SharePoint CreatePermission API を使用して、OneNote Class Notebook AppId をそのサイトに許可します。
  3. 上記の手順が完了したら、既存の Class Notebook 機能を復元し、 GetClassNotebooksAddTeacheraddStudent などの API 呼び出しを期待どおりに機能させる必要があります。

手順

1. CreateEducationClass を使用して新しいサイトを作成する

CreateEducationClass API を使用して、クラスごとに新しい Microsoft 365 グループと関連する SharePoint サイトを作成します。

  • この API は、グループ、サイト、および関連するリソースを 1 回の呼び出しでプロビジョニングします。
  • サイトが作成されたら、既存の API を使用してノートブックとアクセス許可を管理できます。

リファレンス: CreateEducationClass API のドキュメント

2. 既存のサイトにアクセス許可を付与する

既存のグループまたはサイトの場合は、 Sites.Selected アクセス許可モデルを使用して、Class Notebook アプリにアクセス権を明示的に付与する必要があります。

必要なアクセス許可

  • Sites.Selected スコープを使用したアプリ専用アクセス。
  • EDU OneNote アプリにサイトへのフル コントロールを付与します。

サンプル要求

POST https://graph.microsoft.com/v1.0/sites/{sitesId}/permissions Content-Type: application/json { "roles": ["fullcontrol"], "grantedToIdentities": [{ "application": { "id": "13291f5a-59ac-4c59-b0fa-d1632e8f3292", //Target Application のクライアント ID "displayName": "EDU OneNote" //Target Application's Display name } }} } }

参照:

アクセス許可 API の作成

サイトを使用するアプリケーションを開発する.SPO サイトに対して選択されたアクセス許可

Microsoft 365 開発者ブログ: 特定の SharePoint サイト コレクションでのアプリ アクセスの制御が Microsoft Graph で利用可能になりました

3. ノートブック管理に既存の API を使用する

アクセス許可が正しく構成されると、次の API などの既存の Class Notebook 機能は引き続き以前と同様に機能する必要があります。

  • GetClassNotebooks

  • AddTeacher

  • AddStudent

  • CreateClassNotebook

    • 注: 上記のように、新しいグループ/サイトの場合は、代わりに CreateEducationClass を 使用します