ファイル ストレージ コンテナーの種類のアプリケーションのアクセス許可を登録する
SharePoint Embedded アプリケーションが使用しているテナント内のコンテナーと対話するには、最初にコンテナーの種類を使用しているテナントに登録する必要があります。 コンテナーの種類の登録は、所有するアプリケーションが登録 API を呼び出して、コンテナーの種類に対して実行できるアクセス許可を指定するときに発生します。 登録 API は、所有するアプリケーションのコンテナーと対話するための他のゲスト アプリへのアクセスも許可します。 たとえば、SharePoint Embedded アプリケーションは、別のアプリケーション (ゲスト アプリ) にアクセス許可を付与して、ゲスト アプリがそのコンテナーに対してバックアップ操作を実行できるようにします。
登録 API は、SharePoint Embedded アプリケーションが使用しているテナント内のコンテナーに対して実行できるアクセス許可を制御するため、この呼び出しは最初に呼び出される API のいずれかである必要があります。 そうしないと、コンテナーやコンテナー内のコンテンツに対して他の API を呼び出すときに、アクセスが拒否されたエラーが発生します。
登録 API を呼び出すことができる回数に制限はありません。 登録 API が呼び出される頻度と呼び出されるタイミングは、SharePoint Embedded アプリケーションに依存します。 ただし、登録 API の最後に正常に呼び出されると、使用しているテナントで使用される設定が決まります。
注:
コンテナーの種類の所有アプリケーションのみが、使用しているテナントで登録 API を呼び出すことができます。
登録 API はGraph APIではなく、AppOnly と証明書ベースのアクセス トークンのみを使用して呼び出すことができます。 認証の詳細については、こちらをご覧ください。
コンテナーの種類 のアクセス許可
登録 API は、指定されたコンテナーの種類に対して SharePoint Embedded アプリケーションがコンテナーとコンテナー内のコンテンツに対して実行できるアクセス許可を決定します。
アクセス許可 | 説明 |
---|---|
なし | このコンテナーの種類のコンテナーまたはコンテンツに対するアクセス許可がありません。 |
ReadContent | このコンテナーの種類のコンテナーのコンテンツを読み取ることができます。 |
WriteContent | このコンテナーの種類のコンテナーにコンテンツを書き込むことができます。 ReadContent アクセス許可がないと、このアクセス許可を付与できません。 |
作成する | このコンテナーの種類のコンテナーを作成できます。 |
削除 | このコンテナーの種類のコンテナーを削除できます。 |
読み取り | このコンテナーの種類のコンテナーのメタデータを読み取ることができます。 |
書き込み | このコンテナーの種類のコンテナーのメタデータを更新できます。 |
EnumeratePermissions | コンテナーのメンバーと、このコンテナーの種類のコンテナーのロールを列挙できます。 |
AddPermissions | このコンテナーの種類のコンテナーのコンテナーにメンバーを追加できます。 |
UpdatePermissions | このコンテナーの種類のコンテナーのコンテナー内の既存のメンバーシップを更新 (のロールの変更) できます。 |
DeletePermissions | このコンテナーの種類のコンテナーについて、コンテナーから他のメンバー (自己ではない) を削除できます。 |
DeleteOwnPermissions | このコンテナーの種類のコンテナーのコンテナーから独自のメンバーシップを削除できます。 |
ManagePermissions | このコンテナーの種類のコンテナーのコンテナー ロールにメンバーを追加、削除 (自己を含む) または更新できます。 |
Full | このコンテナーの種類のコンテナーに対するすべてのアクセス許可を持ちます。 |
HTTP 要求
PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions
注:
これはGraph APIではありません
{RootSiteURL}
は、使用しているテナントの SharePoint URL です。 たとえば、「 https://contoso.sharepoint.com 」のように入力します。
要求本文
要求本文で、SharePoint Embedded アプリケーションのコンテナーの種類のアクセス許可の JSON 表現を指定します。
応答
成功した場合、このメソッドは応答コードと、応答本文の SharePoint Embedded アプリケーション用に構成されたコンテナーの種類のアクセス許可を返 200 OK
します。
HTTP コード | 説明 |
---|---|
400 | 要求が正しくありません。 |
401 | 要求に有効な認証資格情報がありません。 |
403 | 指定された認証資格情報は有効ですが、要求された操作を実行するには不十分です。 例: 呼び出し元のアプリは、コンテナーの種類の所有アプリではありません。 |
404 | コンテナーの種類が存在しません。 |
例
コンテナーの種類を使用しているテナントに登録する
コンテナーの種類を使用しているテナントに登録し、委任された呼び出しと AppOnly 呼び出しの所有アプリケーション (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) に完全なアクセス許可を付与します。
要求
PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["full"]
}
]
}
応答
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["full"]
}
]
}
ゲスト アプリのアクセス許可を使用して、使用しているテナントにコンテナーの種類を登録する
コンテナーの種類を使用しているテナントに登録し、委任された呼び出しと AppOnly 呼び出しの所有アプリケーション (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) に完全なアクセス許可を付与します。 さらに、ゲスト アプリ (AppId 89ea5c94-7736-4e25-95ad-3fa95f62b6) に、委任された呼び出しに対してのみ読み取りおよび書き込みアクセス許可を付与します。
要求
PUT /storagecontainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["full"]
},
{
"appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
"delegated": [read", "write"],
"appOnly": ["none"]
}
]
}
応答
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["read"]
},
{
"appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
"delegated": ["read", "write"],
"appOnly": ["none"]
}
]
}