Tipo de recurso permission

Namespace: microsoft.graph

O recurso Permission fornece informações sobre uma permissão de compartilhamento concedida a um recurso DriveItem.

As permissões de compartilhamento têm vários formulários diferentes. O recurso de permissão representa esses diferentes formulários por meio de facetas no recurso.

OneDrive for Business e bibliotecas de documentos do SharePoint não retornam a propriedade herdadaFrom. grantedTo e grantEdToIdentities são preteridos daqui para frente e a resposta será migrada para grantedToV2 e grantedToIdentitiesV2 , respectivamente, em nomes de propriedade apropriados.

Representação JSON

A representação JSON a seguir mostra o tipo de recurso.


{
  "id": "string (identifier)",
  "grantedTo": {"@odata.type": "microsoft.graph.identitySet"},
  "grantedToIdentities": [{"@odata.type": "microsoft.graph.identitySet"}],
  "grantedToV2": {"@odata.type": "microsoft.graph.sharePointIdentitySet"},
  "grantedToIdentitiesV2": [{"@odata.type": "microsoft.graph.sharePointIdentitySet"}],
  "inheritedFrom": {"@odata.type": "microsoft.graph.itemReference"},
  "invitation": {"@odata.type": "microsoft.graph.sharingInvitation"},
  "link": {"@odata.type": "microsoft.graph.sharingLink"},
  "roles": ["string"],
  "shareId": "string",
  "expirationDateTime": "string (timestamp)",
  "hasPassword": "boolean"
}

Propriedades

Propriedade Tipo Descrição
expirationDateTime DateTimeOffset Um formato yyyy-MM-ddTHH:mm:ssZ de DateTimeOffset indica o tempo de expiração da permissão. DateTime.MinValue indica que não há nenhum conjunto de expiração para essa permissão. Opcional.
id String O identificador exclusivo da permissão entre todas as permissões no item. Somente leitura.
hasPassword Boolean Indica se a senha está definida para essa permissão. Essa propriedade só aparece na resposta. Opcional. Somente leitura. Somente para o OneDrive Pessoal..
grantedTo (preterido) IdentitySet Para permissões de tipo de usuário, os detalhes dos usuários e aplicativos para essa permissão. Somente leitura.
grantedToIdentities (preterido) Coleção(IdentitySet) Para permissões de tipo, os detalhes dos usuários aos quais a permissão foi concedida. Somente leitura.
grantedToIdentitiesV2 Coleção(SharePointIdentitySet) Para permissões de tipo de link, os detalhes dos usuários aos quais a permissão foi concedida. Somente leitura.
grantedToV2 SharePointIdentitySet Para permissões de tipo de usuário, os detalhes dos usuários e aplicativos para essa permissão. Somente leitura.
inheritedFrom ItemReference Fornece uma referência ao ancestral da permissão atual, se ela for herdada de um ancestral. Somente leitura.
invitation SharingInvitation Detalhes de um convite de compartilhamento associado para esta permissão. Somente leitura.
link SharingLink Fornece os detalhes do link da permissão atual, se for uma permissão de tipo de link. Somente leitura.
funções Coleção de Cadeias de Caracteres O tipo de permissão, por exemplo, read. Veja abaixo a lista completa de funções. Somente leitura.
shareId String Um token exclusivo que pode ser usado para acessar esse item compartilhado por meio da API Shares. Somente leitura.

O recurso permission usa facetas para fornecer informações sobre o tipo de permissão representado pelo recurso.

Permissões com uma faceta link representam links de compartilhamento criados no item. Os links de compartilhamento contêm um token exclusivo que fornece acesso ao item para qualquer pessoa com o link.

As permissões com uma faceta de convite representam permissões adicionadas convidando usuários ou grupos específicos a ter acesso ao arquivo.

Valores de propriedades Roles

Valor Descrição
leitura Oferece a capacidade de ler os metadados e o conteúdo do item.
gravação Oferece a capacidade de ler e modificar os metadados e o conteúdo do item.
proprietário Para o Microsoft Office SharePoint Online e o OneDrive for Business, este representa o papel do proprietário.

O tipo mais comum de permissões é o compartilhamento de links. Esses links fornecem uma URL exclusiva que inclui o recurso que está sendo compartilhado e um token de autenticação que fornece acesso ao recurso. Os usuários não precisam entrar para acessar o conteúdo compartilhado com um link de compartilhamento. Os usuários podem compartilhar um link que concede acesso somente leitura ou acesso de gravação ao conteúdo.

Um link de exibição oferece acesso somente leitura a um item.

{
  "id": "1",
  "roles": ["read"],
  "link": {
    "type": "view",
    "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
    "application": { "id": "1234", "displayName": "Sample Application" }
  },
  "shareId": "!LKj1lkdlals90j1nlkascl",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Um link de edição fornece acesso de leitura e gravação a um item.

{
  "id": "2",
  "roles": ["write"],
  "link": {
    "type": "edit",
    "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
    "application": { "id": "1234", "displayName": "Sample Application" }
  },
  "shareId": "!LKj1lkdlals90j1nlkascl",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Este link fornece acesso de leitura e gravação para as pessoas específicas na coleção grantedToIdentities.

{
  "id": "3",
  "grantedToIdentities": [
    {
       "user": {
        "id": "35fij1974gb8832",
        "displayName": "Misty Suarez"
      }
    },
    {
       "user": {
        "id": "9397721fh4hgh73",
        "displayName": "Judith Clemons"
      }
    }
  ],
  "grantedToIdentitiesV2": [
    {
       "user": {
        "id": "35fij1974gb8832",
        "displayName": "Misty Suarez"
      },
      "siteUser": {
        "id": "1",
        "displayName": "Misty Suarez",
        "loginName": "Misty Suarez"
      }
    },
    {
       "user": {
        "id": "9397721fh4hgh73",
        "displayName": "Judith Clemons"
      },
      "siteUser": {
        "id": "2",
        "displayName": "Judith Clemons",
        "loginName": "Judith Clemons"
      }
    }
  ],
  "roles": ["write"],
  "link": {
    "webUrl": "https://contoso.sharepoint.com/:w:/t/design/a577ghg9hgh737613bmbjf839026561fmzhsr85ng9f3hjck2t5s",
    "application": { "id": "1234", "displayName": "Sample Application" }
  },
  "shareId": "!LKj1lkdlals90j1nlkascl",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Este link não concede privilégios extras ao usuário.

{
  "id": "00000000-0000-0000-0000-000000000000",
  "roles": ["read"],
  "link": {
    "scope": "existingAccess",
    "type": "view",
    "webUrl": "https://contoso.sharepoint.com/:w:/t/design/Shared%20Documents/SampleDoc.docx?d=w12345",
  },
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Convite de compartilhamento

Além de criar links de compartilhamento, um usuário pode ser convidado pelo endereço de email. Nesse cenário, a permissão cria um convite que é enviado para o email do usuário.

Convite para um endereço de email

Se a permissão foi enviada por meio de um endereço de email para um destinatário que não tem uma conta correspondente, a propriedade grantedTo poderá não ser definida até que o convite seja resgatado, o que ocorre na primeira vez que um usuário selecionar o link e entrar.

{
  "id": "1",
  "roles": ["write"],
  "invitation": {
    "email": "jd@contoso.com",
    "signInRequired": true
  },
  "shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Depois que o convite de compartilhamento tiver sido resgatado por um usuário, a propriedade grantedTo conterá as informações sobre a conta que resgatou as permissões:

{
  "id": "1",
  "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"
    }
  },
  "invitation": {
    "email": "rd@contoso.com",
    "signInRequired": true
  },
  "shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Métodos

Método Caminho REST
Listar permissões GET /drive/items/{item-id}/permissions
Obter permissão GET /drive/items/{item-id}/permissions/{id}
Adicionar POST /drive/items/{item-id}/invite
Update PATCH /drive/items/{item-id}/permissions/{id}
Delete DELETE /drive/items/{item-id}/permissions/{id}
Adicionar usuários ao link de compartilhamento POST /shares/{encoded-sharing-url}/permission/grant