Listar permissões de compartilhamento em um driveItem

Namespace: microsoft.graph

Liste as permissões efetivas de compartilhamento em um driveItem.

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

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

Acessar permissões de compartilhamento

A coleção de permissões inclui informações potencialmente confidenciais e pode não estar disponível para todos os chamadores.

  • Para o proprietário do item, todas as permissões de compartilhamento serão retornadas. Isto inclui os coproprietários.
  • Para um chamador não proprietário, somente as permissões de compartilhamento que se aplicam ao chamador são retornadas.
  • Propriedades de permissão de compartilhamento que contêm segredos (por exemplo, shareId e webUrl) são retornadas somente para chamadores que são capazes de criar a permissão de compartilhamento.

Permissões

Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas 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 privilegiadas mais altas
Delegado (conta corporativa ou de estudante) Files.Read Files.Read.All, Files.ReadWrite, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Delegado (conta pessoal da Microsoft) Files.Read Files.Read.All, Files.ReadWrite, Files.ReadWrite.All
Application Files.Read.All Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All

Solicitação HTTP

GET /drives/{drive-id}/items/{item-id}/permissions
GET /groups/{group-id}/drive/items/{item-id}/permissions
GET /me/drive/items/{item-id}/permissions
GET /me/drive/root:/{path}:/permissions
GET /sites/{siteId}/drive/items/{itemId}/permissions
GET /users/{userId}/drive/items/{itemId}/permissions

Parâmetros de consulta opcionais

Esse método dá suporte aos Parâmetros de $selectConsulta OData para personalizar a resposta.

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.
if-none-match Cadeia de caracteres. Se este cabeçalho de solicitação estiver incluso e a etag fornecida corresponder à marca atual do item, uma resposta HTTP 304 Not Modified será exibida.

Resposta

Se for bem-sucedido, esse método retornará um código de resposta 200 OK e uma coleção de recursos Permission no corpo da resposta.

As permissões efetivas de compartilhamento de um DriveItem podem vir de duas fontes:

  • Permissões de compartilhamento aplicadas diretamente ao próprio DriveItem
  • Permissões de compartilhamento herdadas de ancestrais do DriveItem

Os chamadores podem diferenciar se a permissão é herdada ou não verificando a propriedade inheritedFrom. Esta propriedade é um recurso itemReference que referencia o ancestral do qual a permissão é herdada.

Exemplo

Este exemplo recupera a coleção de permissões em um item na unidade do usuário conectado.

GET /me/drive/items/{item-id}/permissions

Resposta

Esta resposta de exemplo inclui três permissões, a primeira é um link de compartilhamento com permissões de edição, a segunda é uma permissão explícita para um usuário chamado John, que foi herdada da pasta pai, e a terceira é um link de compartilhamento de leitura e gravação criado por um aplicativo.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
    {
      "id": "1",
      "roles": ["write"],
      "link": {
        "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
        "type": "edit"
      }
    },
    {
      "id": "2",
      "@deprecated.GrantedTo": "GrantedTo has been deprecated. Refer to GrantedToV2",
      "roles": ["write"],
      "grantedTo": {
        "user": {
          "id": "5D33DD65C6932946",
          "displayName": "Robin Danielsen"
        }
      },
      "grantedToV2": {
        "user": {
          "id": "5D33DD65C6932946",
          "displayName": "Robin Danielsen"
        },
        "siteUser": {
          "id": "1",
          "displayName": "Robin Danielsen",
          "loginName": "Robin Danielsen"
        }
      },
      "inheritedFrom": {
        "driveId": "1234567890ABD",
        "id": "1234567890ABC!123",
        "path": "/drive/root:/Documents" }
    },
    {
      "id": "3",
      "roles": ["write"],
      "link": {
        "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
        "type": "edit",
        "application": {
          "id": "12345",
          "displayName": "Contoso Time Manager"
        }
      }
    }
  ]
}

Comentários

A relação permissions de um DriveItem não pode ser expandida como parte de uma chamada para get DriveItem ou uma coleção de DriveItems. Você deve acessar a propriedade permissions diretamente.

Respostas de erro

Leia o tópico Respostas de Erro para obter mais informações sobre como os erros são retornados.