permission: grant

Namespace: microsoft.graph

Conceda aos usuários acesso a um link representado por uma permissão.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta 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.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte
Aplicativo 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.

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 o link for um link de "acesso existente", especificará funções a serem concedidas aos usuários. Caso contrário, deverá corresponder à função do link.

Para ver uma lista de funções disponíveis, consulte roles property values.

Resposta

Se tiver êxito, este método retornará um 200 OK código de resposta e uma coleção [de][] permissões no corpo da resposta.

Uma permissão que representa o link atualizado sempre será retornada no conjunto de resultados sobre o sucesso. O link atualizado pode ser identificado pela presença de uma faceta 'link' contendo a propriedade 'escopo'. Em alguns casos, pode ser possível que o link atualizado tenha uma URL diferente do link original, nesse caso, a nova URL deve ser usada.

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

Exemplo

Este exemplo concede aos usuários john@contoso.com e ryan@external.com acesso a um link de compartilhamento sem modificar outras permissões existentes no link.

Solicitação

POST https://graph.microsoft.com/v1.0/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 o link for um link de acesso existente, permissões adicionais serão retornadas representando o seguinte:

  • Permissões de tipo de usuário que representam destinatários que tiveram acesso concedido com êxito. Eles podem ser identificados pela presença da propriedade grantedTo .
  • Permissões de tipo de link que representam convites que precisam ser enviados a usuários externos não reconhecedos para que eles obtenham acesso. Eles podem ser identificados pela presença de uma faceta de convite. Essas entradas conterão um link com a URL do convite e a coleção grantedToIdentities indicará os usuários aos quais o link deve ser enviado.
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.