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árias formas diferentes. O recurso de permissão representa esses diferentes formulários por meio de facetas no recurso.

O OneDrive for Business e as bibliotecas de documentos do SharePoint não retornam a propriedade inheritedFrom. grantedTo e grantedToIdentities serão preteridos no futuro e a resposta será migrada para grantedToV2 e grantedToIdentitiesV2 respectivamente sob nomes de propriedade apropriados.

Representação JSON

Veja a seguir uma representação JSON do 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
id String O identificador exclusivo da permissão entre todas as permissões no item. 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.
grantedToIdentitiesV2 Coleção(SharePointIdentitySet) Para permissões de tipo de link, os detalhes dos usuários a quem a permissão foi concedida. Somente leitura.
invitation SharingInvitation Detalhes de um convite de compartilhamento associado para esta permissão. Somente leitura.
inheritedFrom ItemReference Fornece uma referência para o ancestral da permissão atual, se ela for herdada de um ancestral. Somente leitura.
vínculo SharingLink Fornece os detalhes do link de permissão atual, caso se trate de permissões 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 Cadeia de caracteres Um token exclusivo que pode ser usado para acessar esse item compartilhado por meio da API Shares. Somente leitura.
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á expiração definida para esta permissão. Opcional.
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.

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.

Permissões com uma faceta invitation representam permissões adicionadas convidando usuários ou grupos específicos para 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 são os links de compartilhamento. 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 adicionais 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 ao email do usuário.

Convite para um endereço de email

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

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