Partilhar via


permissão: conceder

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Conceder aos utilizadores acesso a uma ligação representada por uma permissão.

Esta API está disponível nas seguintes implementações de cloud nacionais.

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

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) Files.ReadWrite Files.ReadWrite.All, Sites.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application Files.ReadWrite.All Sites.ReadWrite.All

Solicitação HTTP

POST /shares/{encoded-sharing-url}/permission/grant

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.

Corpo da solicitação

Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.

{
  "recipients": [
    { "@odata.type": "microsoft.graph.driveRecipient" }
  ],
  "roles": [ "read | write"]
}
Parâmetro Tipo Descrição
destinatários Collection(driveRecipient) Uma coleção de destinatários que receberão acesso.
funções Collection(String) Se a ligação for uma ligação de "acesso existente", especifica as funções a serem concedidas aos utilizadores. Caso contrário, tem de corresponder à função da ligação.

Para obter uma lista de funções disponíveis, veja valores de propriedade de funções.

Resposta

Se for bem-sucedido, este método devolve um 200 OK código de resposta e uma coleção de permissões no corpo da resposta.

Uma permissão que represente a ligação atualizada será sempre devolvida no conjunto de resultados com êxito. A ligação atualizada pode ser identificada pela presença de uma faceta "link" que contém a propriedade "âmbito". Em alguns casos, pode ser possível que a ligação atualizada tenha um URL diferente da ligação original, caso em que o novo URL deve ser utilizado.

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

Exemplo

Este exemplo concede aos utilizadores john@contoso.com e ryan@external.com acesso a uma ligação de partilha sem modificar outras permissões existentes na ligação.

Solicitação

POST https://graph.microsoft.com/beta/shares/{encoded-sharing-url}/permission/grant
Content-type: application/json

{
  "recipients": [
    {
      "email": "john@contoso.com"
    },
    {
      "email": "ryan@external.com"
    }
  ],
  "roles": ["read"]
}

Resposta

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

{
  "value": [
    {
      "hasPassword": false,
      "id": "5fab944a-47ec-48d0-a9b5-5178a926d00f",
      "link": {
        "preventsDownload": false,
        "scope": "users",
        "type": "view",
        "webUrl": "https://contoso.sharepoint.com/:t:/g/design/EZexPoDjW4dMtKFUfAl6BK4BvIUuss52hLYzihBfx-PD6Q"
      },
      "roles": [
        "read"
      ]
    }
  ]
}

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

Se a ligação for uma ligação de acesso existente , serão devolvidas permissões adicionais que representam o seguinte:

  • Permissões de tipo de utilizador que representam destinatários a quem foi concedido acesso com êxito. Estes podem ser identificados pela presença da propriedade grantedTo .
  • Permissões de tipo de ligação que representam convites que precisam de ser enviados a utilizadores externos não reconhecidos para que obtenham acesso. Estes podem ser identificados pela presença de uma faceta de convite . Estas entradas irão conter uma ligação com o URL de convite e a coleção grantedToIdentities indicará os utilizadores a quem a ligação deve ser enviada.
HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "hasPassword": false,
      "id": "00000000-0000-0000-0000-000000000000",
      "link": {
        "preventsDownload": false,
        "scope": "existingAccess",
        "type": "view",
        "webUrl": "https://contoso.sharepoint.com/teams/design/shareddocs/Document.docx"
      },
      "roles": [
        "read"
      ]
    },
    {
      "grantedTo": {
        "user": {
          "displayName": "John Smith",
          "email": "john@contoso.com",
          "id": "47aecee2-d061-4730-8ecb-4c61360441ae"
        }
      },
      "id": "aTowIy5mfG1lbWJlcnNoaXB8bGltaXRlZDJAa2xhbW9kYi5vbm1pY3Jvc29mdC5jb20",
      "roles": [
        "read"
      ]
    },
    {
      "grantedToIdentities": [
        {
          "user": {
            "email": "ryan@external.com"
          }
        }
      ],
      "invitation": {
        "signInRequired": true
      },
      "roles": [
        "read"
      ],
      "link": {
        "type": "view",
        "webUrl": "https://contoso.sharepoint.com/:t:/g/teams/design/EZexPoDjW4dMtKFUfAl6BK4Bw_F7gFH63O310A7lDtK0mQ"
      }
    }
  ]
}

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.