Compartilhar via


Listar permissões de compartilhamento em um DriveItem

Liste as permissões efetivas de compartilhamento de um DriveItem.

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

Uma das permissões a seguir é necessária para chamar essa API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Delegado (conta pessoal da Microsoft) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All
Aplicativo 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 opcionais

Nome Tipo Descrição
if-none-match string 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.

Níveis de permissão do SharePoint definidos em um item retornam com um prefixo 'SP'. Por exemplo, SP.Somente exibição, SP.Acesso limitado, SP.Exibir Dados do Web Analytics. Consulte a Lista completa de funções do SharePoint.

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",
      "roles": ["write"],
      "grantedTo": {
        "user": {
          "id": "5D33DD65C6932946",
          "displayName": "John Doe"
        }
      },
      "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.