Criar permissão em um driveItem

Namespace: microsoft.graph

Crie um novo objeto de permissão em um driveItem.

Importante

Essa API tem as seguintes restrições:

  • Para o OneDrive corporativo ou de estudante e o SharePoint Online, você só pode usar esse método para criar uma nova permissão de aplicativo. Se você quiser criar uma nova permissão de usuário em um driveItem, consulte convidar. Para obter mais informações sobre permissões de aplicativo, consulte Visão geral das permissões selecionadas no OneDrive e no SharePoint.
  • Para o SharePoint Embedded, você só pode usar esse método para criar uma nova permissão sharePointGroup com acesso somente ao aplicativo. Não é possível criar uma permissão no item raiz de um contêiner.

Essa API está disponível nas seguintes implantações de nuvem nacional.

Serviço global Governo dos EUA L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) 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
Delegado (conta pessoal da Microsoft) Files.ReadWrite Files.ReadWrite.All
Aplicativo Files.ReadWrite.All Sites.FullControl.All, Sites.Manage.All, Sites.ReadWrite.All, Sites.Selected, Files. SelectedOperations.Selected, Lists.SelectedOperations.Selected, ListItems.SelectedOperations.Selected

Observação

O SharePoint Embedded requer a FileStorageContainer.Selected permissão para acessar o conteúdo do contêiner. Essa permissão é diferente das mencionadas anteriormente. Além das permissões do Microsoft Graph, seu aplicativo deve ter as permissões de tipo de contêiner necessárias para chamar essa API. Para obter mais informações, consulte Autenticação e autorização do SharePoint Embedded.

Solicitação 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

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto de permissão .

Importante

  • Essa API aceita apenas grantedToV2 como entrada para o objeto de permissão . Outras propriedades, como grantedToIdentitiesV2 ou os preteridos grantedTo e grantedToIdentities , não são aceitas.
  • Para o SharePoint Embedded, ao criar uma nova permissão sharePointGroup , recomendamos que você faça referência ao sharePointGroup usando a propriedade grantedToV2.sharePointGroup.id no corpo da solicitação. Essa ID deve ser mapeada para a ID da propriedade sharePointGroup . Para obter mais informações, consulte o Exemplo 2. Não recomendamos que você faça referência a um sharePointGroup usando seu principalId porque o principalId só é exclusivo dentro do site, ao contrário do id do sharePointGroup, que é globalmente exclusivo. Nesse caso, o corpo da solicitação deve incluir id e displayName na propriedade grantedToV2.siteGroup . A id deve apontar para o principalId do sharePointGroup e o displayName deve apontar para o título do sharePointGroup. Para obter mais informações, consulte o Exemplo 3.

Resposta

Se for bem-sucedido, esse método retornará um código de 201 Created resposta e um objeto de permissão no corpo da resposta.

Exemplos

Exemplo 1: adicionar uma permissão de aplicativo a um driveItem no OneDrive ou no SharePoint Online

O exemplo a seguir mostra como adicionar uma writepermissão para o Contoso Time Manager Appaplicativo identificado por 89ea5c94-7736-4e25-95ad-3fa95f62b66e, em um driveItem identificado por 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU em uma unidade identificada por b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Solicitação

O exemplo a seguir mostra uma solicitação.

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

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

Resposta

O exemplo a seguir mostra a resposta.

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"
    }
  }
}

Exemplo 2: Adicionar uma permissão de grupo do SharePoint a um driveItem em um contêiner do SharePoint Embedded usando sua ID

O exemplo a seguir mostra como adicionar uma writepermissão para o internal collaboratorssharePointGroup em um driveItem identificado por 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU em um fileStorageContainer incorporado do SharePoint identificado por b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Solicitação

O exemplo a seguir mostra uma solicitação.

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

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

Resposta

O exemplo a seguir mostra a resposta.

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"
    }
  }
}

Exemplo 3: Adicionar uma permissão de grupo do SharePoint a um driveItem em um contêiner do SharePoint Embedded usando a principalId

O exemplo a seguir mostra como adicionar uma writepermissão para o internal collaboratorssharePointGroup em um driveItem identificado por 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU em um fileStorageContainer incorporado do SharePoint identificado por b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Solicitação

O exemplo a seguir mostra uma solicitação.

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

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

Resposta

O exemplo a seguir mostra a resposta.

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"
    }
  }
}