driveItem に対する作成アクセス許可

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

driveItem に新しいアクセス許可オブジェクトを作成します。

重要

この API には次の制限があります。

  • 職場または学校用 OneDrive と SharePoint Online の場合、この方法は新しいアプリケーションのアクセス許可の作成にしか使用できません。 driveItem に新しいユーザー権限を作成する場合は、「招待」を参照してください。 アプリケーションのアクセス許可の詳細については、「 OneDrive と SharePoint で選択したアクセス許可の概要」を参照してください。
  • SharePoint Embedded の場合、このメソッドは、アプリのみのアクセス許可を持つ新しい sharePointGroup アクセス許可を作成する場合にのみ使用できます。 コンテナーのルート アイテムに対するアクセス許可を作成することはできません。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国
✅ ✅ ✅ ✅

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) Files.ReadWrite Files.ReadWrite.All, Files.SelectedOperations.Selected、Sites.ReadWrite.All、Sites.FullControl.All、Sites.Manage.All、Sites.Selected、Lists.SelectedOperations.Selected、ListItems.SelectedOperations.Selected
委任 (個人用 Microsoft アカウント) Files.ReadWrite Files.ReadWrite.All
アプリケーション Files.ReadWrite.All Sites.FullControl.All、Sites.Manage.All、Sites.ReadWrite.All、Sites.Selected、Files。SelectedOperations.Selected, Lists.SelectedOperations.Selected, ListItems.SelectedOperations.Selected

注:

SharePoint Embedded では、コンテナーのコンテンツにアクセスするための FileStorageContainer.Selected アクセス許可が必要です。 このアクセス許可は、前述のアクセス許可とは異なります。 Microsoft Graph のアクセス許可に加えて、アプリにはこの API を呼び出すために必要な コンテナーの種類のアクセス許可 が必要です。 詳細については、「 SharePoint Embedded の認証と承認」を参照してください。

HTTP 要求

POST /drives/{drive-id}/items/{item-id}/permissions
POST /groups/{group-id}/drive/items/{item-id}/permissions
POST /me/drive/items/{item-id}/permissions
POST /sites/{siteId}/drive/items/{itemId}/permissions
POST /users/{userId}/drive/items/{itemId}/permissions

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json. 必須です。

要求本文

リクエストの本文には、 アクセス許可 オブジェクトの JSON 表現を指定します。

重要

  • この API は、アクセス許可オブジェクトの入力としてgrantedToV2 のみを受け入れます。 grantedToIdentitiesV2 や非推奨の grantedTo や grantedToIdentities などの他のプロパティは受け入れられません。
  • SharePoint Embedded の場合、新しい sharePointGroup アクセス許可を作成するときは、要求本文の grantedToV2.sharePointGroup.id プロパティを使用して sharePointGroup を参照することをお勧めします。 この ID は sharePointGroup プロパティの ID にマッピングする必要があります。 詳細については、 例 2 を参照してください。 グローバルに一意な sharePointGroup の ID とは異なり、principalId はサイト内で一意であるため、principalId を使用して sharePointGroup を参照することはお勧めしません。 その場合、要求本文には、grantedToV2.siteGroup プロパティの id と displayName の両方を含める必要があります。 id は sharePointGroup の principalId を指す必要があり、displayName は sharePointGroup のタイトルを指す必要があります。 詳細については、 例 3 を参照してください。

応答

成功した場合、このメソッドは応答本文で 201 Created 応答コードと アクセス許可 オブジェクトを返します。

例

例 1: OneDrive または SharePoint Online の driveItem にアプリケーションのアクセス許可を追加する

次の例は、writeb!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop で識別されるドライブ内の 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU で識別される driveItem で、89ea5c94-7736-4e25-95ad-3fa95f62b66e で識別される Contoso Time Manager Appアプリケーションに対する で識別されるアクセス許可を追加する方法を示しています。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e"
    }
  },
  "roles": ["write"]
}

応答

次の例は応答を示しています。

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHw4OWVhNWM5NC03NzM2LTRlMjUtOTVhZC0zZmE5NWY2MmI2NmVAZDljZTBmYzEtNjFkOC00YTJlLWI1ZDMtMTg3NzBkZjA2NzJj",
  "roles": [
    "write"
  ],
  "grantedTo": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
      "displayName": "Contoso Time Manager App"
    }
  },
  "grantedToV2": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
      "displayName": "Contoso Time Manager App"
    }
  }
}

例 2: ID を使用して SharePoint Embedded コンテナー内の driveItem に SharePoint グループのアクセス許可を追加する

次の例は、b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop で識別される SharePoint Embedded fileStorageContainerで 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU で識別された internal collaboratorsdriveItem に対して writeアクセス許可を追加する方法を示しています。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "sharePointGroup": {
      "id": "ZGYwZTEzYTgtOTExOS00MjdmLWEzNjktOTdjOWM3YjNlYjcyXzE0"
    }
  },
  "roles": ["write"]
}

応答

次の例は応答を示しています。

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHwxMEBkOWNlMGZjMS02MWQ4LTRhMmUtYjVkMy0xODc3MGRmMDY3MmM=",
  "roles": [
    "write"
  ],
  "grantedToV2": {
    "sharePointGroup": {
      "id": "ZGYwZTEzYTgtOTExOS00MjdmLWEzNjktOTdjOWM3YjNlYjcyXzE0",
      "principalId": "10",
      "title": "Internal Collaborators"
    },
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "grantedTo": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  }
}

例 3: principalId を使用して SharePoint Embedded コンテナー内の driveItem に SharePoint グループのアクセス許可を追加する

次の例は、b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop で識別される SharePoint Embedded fileStorageContainerで 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU で識別された internal collaboratorsdriveItem に対して writeアクセス許可を追加する方法を示しています。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "roles": ["write"]
}

応答

次の例は応答を示しています。

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHwxMEBkOWNlMGZjMS02MWQ4LTRhMmUtYjVkMy0xODc3MGRmMDY3MmM=",
  "roles": [
    "write"
  ],
  "grantedToV2": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "grantedTo": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  }
}