適用対象: 開発者
コンテナーの種類が作成、登録、承認された後、コンテナーを作成および管理します。 コンテナーは、SharePoint Embedded の基本的なストレージ ユニットです。
コンテナー API を呼び出す前に 、認証と承認の構成 を完了します。
コンテナーについて
すべての SharePoint Embedded ファイルとドキュメントはコンテナーに格納されます。
コンテナー:
- 使用している Microsoft 365 テナントに属しています。
- 変更できないコンテナーの種類 ID を持つ。
- アプリケーションのコンテンツを格納します。
- メンバーシップとアクセス許可の境界を定義します。
- Microsoft Graph を介してアクセスします。
アーキテクチャの概要については、「 SharePoint Embedded アプリのアーキテクチャ」を参照してください。
ライフサイクルを把握する
一般的なコンテナー ライフサイクルには、次のものが含まれます。
- コンテナーを作成します。
- メンバーを追加または確認します。
- ファイルのアップロードと管理。
- コンテナー メタデータの読み取りまたは更新。
- コンテナーがアクティブでなくなったらリサイクルします。
- 必要に応じ、リサイクルされたコンテナーを復元します。
- クリーンアップ中にコンテナーを完全に削除します。
コンテンツ操作の ファイルのアップロード、ダウンロード、管理 に進みます。
前提条件
コンテナーを作成する前に、次のことを確認してください。
- コンテナーの種類が存在します。
- コンテナーの種類は、使用しているテナントに登録されます。
- アプリに Microsoft Graph
FileStorageContainer.Selected同意がある。 - アプリには、操作のコンテナーの種類のアクセス許可があります。
- 委任された呼び出しの場合、サインインしているユーザーは必要なコンテナー ロールを受け取ることができます。
- 試用版コンテナーの種類の場合は、試用版の制限内にあります。
重要
試用版コンテナーの種類では、アクティブなコンテナーとごみ箱内のコンテナーを含め、最大 5 つのコンテナーを作成できます。
委任された作成またはアプリのみの作成を選択する
ユーザーが作成を開始したとき、ユーザーが責任を負う必要がある場合、または作成するユーザーがコンテナー所有者になる必要がある場合は、委任されたアクセスを使用します。
サービスによってコンテナーがプロビジョニングされ、ユーザーが存在せず、アプリにコンテナーを作成するアクセス許可がある場合は、アプリ専用アクセスを使用します。
注:
委任された呼び出しを通じて新しいコンテナーを作成するユーザーには、所有者ロールが自動的に割り当てられます。
コンテナーを作成する
Microsoft Graph を使用して、登録済みコンテナーの種類のファイル ストレージ コンテナーを作成します。
標準 API シェイプについては、「 create fileStorageContainer」を参照してください。
実装手順:
- 有効な Microsoft Graph トークンを取得します。
- API で必要なターゲット コンテナーの種類の情報を含めます。
- 作成要求を送信します。
- 返されたコンテナー ID を格納します。
- アプリで必要な表示メタデータを格納します。
- 委任されたシナリオのメンバーシップを割り当てるか、確認します。
ヒント
ビジネス オブジェクトと SharePoint Embedded コンテナーの間の永続的なリンクとして、コンテナー ID をアプリケーション データベースに格納します。
Visual Studio Code でコンテナーを作成する
試用版の開発では、Visual Studio Code 拡張機能でコンテナーを作成できます。
SharePoint Embedded ビューを開きます。
登録済みの試用版コンテナーの種類を展開します。
[コンテナー] を右クリックします。
[ コンテナーの作成] を選択します。
名前を入力してください。
コンテナーの種類の下にコンテナーが表示されることを確認します。
拡張機能フローについては、「 クイック スタート: VS Code を使用して最初のアプリをビルド する」を参照してください。
コンテナーの一覧表示
使用可能なコンテナーの表示、プロビジョニングの検証、メンテナンスの実行を行うコンテナーを一覧表示します。
標準 API シェイプについては、「コンテナーの 一覧表示」を参照してください。
コンテナーを一覧表示する場合:
- サービス インベントリのシナリオでは、アプリ専用アクセスを使用します。
- 委任されたアクセスは、ユーザー コンテキストが適切な場合にのみ使用します。
- ページングを処理します。
- 結果をアプリケーション データにマップします。
注:
現在、委任されたリスト コンテナーは、ユーザーが OneDrive を持っていない場合に 403 Forbidden を返します。 この依存関係は、アプリのみのリスト呼び出しには適用されません。
コンテナーを取得する
操作する前に最新のメタデータが必要な場合は、コンテナーを取得します。
この操作を使用して、コンテナーの存在の確認、表示プロパティの読み取り、コンテナーの種類の確認、ファイル操作前の状態のチェック、復元の確認を行います。
実装を fileStorageContainer リソースの種類にリンクします。
コンテナー メタデータを更新する
サポートされているプロパティが変更されたときにメタデータを更新します。
更新する前に:
- アプリにコンテナーの種類
Writeアクセス許可があることを確認します。 - 委任されたユーザーに適切なロールがあることを確認します。
- 現在のコンテナーの状態を読み取ります。
- 目的の変更のみを適用します。
- 応答を検証します。
コンテナーを削除またはリサイクルする
コンテナーがアクティブでなくなった場合は、削除動作を使用します。
削除前:
- 呼び出し元にアクセス許可があることを確認します。
- アプリにアーカイブされたビジネス参照があることを確認します。
- コンテナーを最初にリサイクルするかどうかを決定します。
- 復元オプションについて説明します。
Visual Studio Code 拡張機能には、試用版開発用のリサイクル機能と回復機能が含まれています。
リサイクルされたコンテナーを復元する
復元フローでは、次の手順を実行する必要があります。
- リサイクルされたコンテナーを特定します。
- 呼び出し元にアクセス許可があることを確認します。
- コンテナーを復元します。
- アプリケーションの状態を更新します。
- ファイルとメタデータが使用可能であることを確認します。
- ユーザーに通知します。
重要
試用版コンテナーの種類の場合、ごみ箱内のコンテナーは引き続き 5 つのコンテナーの制限にカウントされます。
コンテナーを完全に削除する
コンテナーが不要になった場合にのみ、完全に削除します。
コンテナーの種類自体を削除する前に、削除されたコンテナーを含め、コンテナーの種類のすべてのコンテナーを削除する必要があります。
試用版のクリーンアップ、テスト データの削除、コンテナーの種類の廃止、ライフサイクル要件の満たす場合は、永続的な削除を使用します。
ライフサイクル操作を検証する
煙テストを作成します。
- テスト コンテナーを作成します。
- ID で取得します。
- コンテナーを一覧表示し、表示されていることを確認します。
- サポートされているメタデータ値を更新します。
- 小さなファイルをアップロードします。
- コンテナーをリサイクルまたは削除します。
- サポートされている場合は復元します。
- クリーンアップ中に完全に削除します。
ライフサイクルの問題のトラブルシューティング
| 現象 | チェック |
|---|---|
| 作成が失敗する | 登録と Create アクセス許可。 |
| 委任された作成が失敗する | ユーザーの同意とロールの割り当ての動作。 |
| 委任されたユーザーのリストが失敗する | OneDrive の依存関係については、認証に関する記事で説明されています。 |
| 削除が失敗する |
Delete アクセス許可とユーザー所有者ロール。 |
| 試用版の作成が失敗する | アクティブなコンテナーとリサイクルされたコンテナーが上限に達している可能性があります。 |
| コンテナーの種類の削除が失敗する | アクティブなコンテナーと削除されたコンテナーはすべて、最初に削除する必要があります。 |
次の手順
[ファイルの アップロード、ダウンロード、管理] でファイル操作を追加します。