Microsoft Graph を使用した SharePoint Embedded でのファイルへのアクセス、保存、取得
この演習では、Postman クライアントを使用して、SharePoint Embedded Container 内のファイルとドキュメントにアクセス、格納、取得するために Postman を使用します。
前提条件
- Postman は、Postman 無料または有料アカウントにサインインした デスクトップ クライアント をインストールしました。
- Microsoft 365 テナントの管理者アカウントへのアクセス。
重要
現時点では、SharePoint Embedded 固有のリソースの作成、アクセス、管理に使用される Microsoft Graph エンドポイントの多くは、Microsoft Graph ベータ エンドポイントにのみ存在します。 ただし、コンテナーと内のコンテンツにアクセスするすべてのエンドポイントには、Microsoft Graph v1.0 エンドポイントが含まれています。
Postman コレクションの委任されたフォルダーを構成する
最初の手順は、以前に作成した Postman コレクション内の Delegated フォルダーを構成して、アプリ+ユーザー アクセス トークン ( 委任された アクセス トークンとも呼ばれます) を取得して、アプリケーションを呼び出すことができるようにすることです。
Postman クライアントで、SharePoint Embedded コレクションを選択し、[ 委任された フォルダー] を選択し、[ 承認 ] タブを選択します。次の設定を構成します (次の一覧に記載されていないフィールドは無視します)。
- 種類: OAuth 2.0
- 認証データの追加: 要求ヘッダー
-
現在のトークン:
- トークン: 使用可能なトークン
- ヘッダー プレフィックス: ベアラー
-
新しいトークンを構成する
- トークン名: Graph App+User Token
- 許可タイプ: 承認コード
-
コールバック URL:
https://oauth.pstmn.io/v1/browser-callback
-
Auth URL:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
-
アクセス トークン URL:
https://login.microsoftonline.com/common/oauth2/v2.0/token
-
クライアント ID:
{{ClientID}}
-
クライアント シークレット:
{{ClientSecret}}
-
スコープ:
FileStorageContainer.Selected offline_access
フォームの下部にある [ 新しいアクセス トークンの取得 ] ボタンを選択します。 これにより、Microsoft Entra ID サインイン ページを含むポップアップ ウィンドウがトリガーされます。 Microsoft 365 テナントの 職場と学校 の管理者アカウントを使用してサインインし、要求されたアクセス許可への同意を求められたら、[同意する] を選択 します。 ポップアップ ウィンドウが閉じると、Postman はトークンを受け取り、確認ポップアップに表示します。 [ トークンの使用] を選択 して、今後の要求に対してトークンを保存します。
注:
スコープ offline_access
を追加することで、Microsoft Entra ID は更新トークンで応答するため、Postman はアクセス トークンをワークステーションにローカルに格納できるだけでなく、次回使用するときに期限切れになると自動的にトークンを更新できます。
[ コレクション ] ウィンドウで、[ 委任された > コンテナー ] フォルダーを選択し、[ 承認 ] タブを選択します。 [種類 ] を [ 親から認証を継承する] に設定します。
Microsoft Graph REST API を使用して、すべてのコンテナーを一覧表示する
Postman コレクションの Delegated フォルダーと Container フォルダーが構成されたら、すべてのコンテナーの一覧を取得する新しい要求を追加します。
空の [委任された> コンテナー] フォルダーで [要求の追加] リンクを選択するか、... を選択して新しい要求を作成します>[委任された>コンテナー] フォルダーの上にマウス ポインターを置き、新しい要求に次の値を設定すると、コンテキスト メニューから要求を追加します。
- 名前: コンテナーの一覧表示
- HTTP メソッド: GET
-
HTTP エンドポイント:
https://graph.microsoft.com/beta/storage/fileStorage/containers?$filter=containerTypeId eq {{ContainerTypeId}}
[送信] を選択して要求を実行します。 0 個のコンテナーが見つかったという有効な応答が表示されます。
Microsoft Graph REST API を使用して新しいコンテナーを作成する
Microsoft Graph REST API を使用して、最初のコンテナーを作成しましょう。
次の値を使用して新しい要求を作成します。
名前: コンテナーの作成
HTTP メソッド: POST
HTTP エンドポイント:
https://graph.microsoft.com/beta/storage/fileStorage/containers
Body: raw > JSON
{ "displayName": "Sample App Container 1", "description": "First container description.", "containerTypeId": "{{ContainerTypeId}}" }
[送信] を選択して要求を実行 します。
成功した場合、Microsoft Graph は HTTP 201 コードで応答し、新しいコンテナーの詳細の概要を示します。
ここで、 List Containers 要求を再実行すると、作成したコンテナーが返されます。
今後の使用のためにコンテナーの ID を格納しましょう。
応答の id
プロパティの値を選択し、それを右選択し、環境の ContainerID プロパティを選択します。
Microsoft Graph REST API を使用して特定のコンテナーの詳細を取得する
次に、Microsoft Graph REST API を使用して 1 つのコンテナーを取得する新しい要求を作成します。
コレクション SharePoint Embedded に戻り、[ 委任された > コンテナー ] フォルダーに戻り、次の値を使用して新しい要求を作成します。
名前: コンテナーの取得
HTTP メソッド: GET
HTTP エンドポイント:
https://graph.microsoft.com/beta/storage/fileStorage/containers/{{ContainerID}}?$select=id,displayName,containerTypeId,status,description,customProperties&$expand=permissions
[送信] を選択して要求を実行 します。 Microsoft Graph は、コンテナーの詳細で応答します。
既存のコンテナーにファイルを追加する
SharePoint Embedded 内のすべてのコンテナーは、Microsoft Graph の OneDrive エンドポイントの操作に使用される開発者にとって馴染みのある Microsoft Graph Drive オブジェクトとして扱うことができます。 つまり、以前に作成したすべてのドライブ エンドポイントとコードを使用して、ドライブ オブジェクト内のコンテンツを管理して、SharePoint Embedded Containers 内のコンテンツを管理できます。
ドライブ オブジェクトとしてコンテナーにアクセスする
Postman コレクションの Delegated フォルダーに新しいフォルダー Files を作成します。
次に、次の値を使用して、 委任された > Files フォルダーに新しい要求を作成します。
- 名前: ドライブを取得する
- HTTP メソッド: GET
-
HTTP エンドポイント:
https://graph.microsoft.com/v1.0/drives/{{ContainerID}}
このプロセスを繰り返して、 items
エンドポイントを使用して Drive オブジェクト内のすべてのファイル (DriveItems とも呼ばれます) の一覧を取得します。
- 名前: DriveItems を取得する
- HTTP メソッド: GET
-
HTTP エンドポイント:
https://graph.microsoft.com/v1.0/drives/{{ContainedID}}/items/root/children
[送信] を選択して要求を実行 します。 Microsoft Graph は、SharePoint 埋め込みコンテナーの内容で応答します。
コンテナーにファイルをアップロードする
コンテナーを作成し、既存の Microsoft Graph Drive エンドポイントと DriveItems エンドポイントを使用してコンテナー内のファイルを表示する機能を使用して、コンテナーにファイルを追加しましょう。
Microsoft Word 文書を作成します。 この例では、含まれている Microsoft Word テンプレートの 1 つから作成された 2024 年 1 月の編集可能な予定表のドキュメントを使用します。 この例では、ファイルは Jan2024.docxと呼ばれます。
次の値を使用して、 Delegated > Files フォルダーに新しい要求を作成します。
- 名前: ファイルをアップロードする
- HTTP メソッド: PUT
-
HTTP エンドポイント:
https://graph.microsoft.com/v1.0/drives/{{ContainerId}}/root:/Jan2024.docx:/content
- 体:
- 型: binary
- Microsoft Word ファイルを選択します ( この例のJan2024.docx)
注:
コンテナーに作成するファイルの名前を使用するようにエンドポイントを更新します。 この例では、 Jan2024.docxを使用しています。
[ 送信] を 選択してファイルをアップロードします。
要求 Get DriveItems を再実行して、コンテナー内のファイルを表示します。
概要
この演習では、Postman を使用して、SharePoint Embedded Container 内のファイルとドキュメントにアクセス、格納、および取得するために、アプリ+ユーザー アクセス トークンを使用して Microsoft Graph REST API を呼び出すことによって Postman クライアントを使用しました。