driveItem: createLink

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 de versão.

Você pode usar a ação createLink para compartilhar um driveItem por meio de um link de compartilhamento.

A ação createLink criará um novo link de compartilhamento se o tipo de link especificado não existir para o aplicativo de chamada. Se um link de compartilhamento do tipo especificado já existir para o aplicativo, o link de compartilhamento existente será retornado.

Recursos de DriveItem herdam permissões de compartilhamento de seus ancestrais.

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) Files.ReadWrite, Files.ReadWrite.All
Aplicativo Files.ReadWrite.All, Sites.ReadWrite.All

Solicitação HTTP

POST /drives/{driveId}/items/{itemId}/createLink
POST /groups/{groupId}/drive/items/{itemId}/createLink
POST /me/drive/items/{itemId}/createLink
POST /sites/{siteId}/drive/items/{itemId}/createLink
POST /users/{userId}/drive/items/{itemId}/createLink

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório.
Content-Type application/json. Obrigatório.

Corpo da solicitação

O corpo da solicitação define as propriedades do link de compartilhamento que seu aplicativo está solicitando. A solicitação deve ser um objeto JSON com as seguintes propriedades.

Propriedade Tipo Descrição
type Cadeia de caracteres Optional.O tipo de link de compartilhamento a ser criado.
escopo String Opcional. O escopo do link a ser criado. Anônimos, organização ou usuários.
expirationDateTime DateTimeOffset Opcional. Uma cadeia de caracteres com formato de yyyy-MM-ddTHH:mm:ssZ de DateTime indica o tempo de expiração da permissão.
password String Optional.A senha do link de compartilhamento que é definido pelo criador.
destinatários Coleção driveRecipient Opcional. Uma coleção de destinatários que receberão acesso ao link de compartilhamento.

Os seguintes valores são permitidos para o parâmetro type.

Valor do tipo Descrição
modo de exibição Cria um link somente leitura para o driveItem.
review Cria um link de revisão para o driveItem. Essa opção só está disponível para arquivos em OneDrive for Business e SharePoint.
edit Cria um link de leitura-gravação para o driveItem.
Incorporar Cria um link inbeddable para o driveItem.
blocksDownload Cria um link somente leitura que bloqueia o download para o driveItem. Essa opção só está disponível para arquivos em OneDrive for Business e SharePoint.
createOnly Cria um link somente para upload para o driveItem. Essa opção só está disponível para pastas em OneDrive for Business e SharePoint.
addressBar Cria o link padrão mostrado nas barras de endereço do navegador para arquivos recém-criados. Disponível apenas no OneDrive for Business e no SharePoint. O administrador da organização configura se esse tipo de link tem suporte e quais recursos são suportados por esse tipo de link.
adminDefault Cria o link padrão para o driveItem conforme determinado pelo administrador da organização. Disponível apenas no OneDrive for Business e no SharePoint. A política é imposta para a organização pelo administrador

Tipos de escopo

Os seguintes valores são permitidos para o parâmetro scope.

Valor Descrição
anonymous Qualquer pessoa com o link tem acesso, sem precisar fazer logon. Isso pode incluir pessoas de fora da organização. O suporte para links anônimos pode ser desativado por um administrador.
organização Qualquer pessoa que tenha feito logon em sua organização (locatário) pode usar o link para obter acesso. Disponível apenas no OneDrive for Business e no SharePoint.
usuários Pessoas específicas no conjunto de destinatários podem usar o link para obter acesso. Disponível apenas no OneDrive for Business e no SharePoint.

Resposta

Se for bem-sucedido, esse método retornará um único recurso Permission no corpo da resposta, que representa as permissões de compartilhamento solicitadas.

A resposta será 201 Created se um novo link de compartilhamento for criado para o driveItem ou 200 OK se um link existente for retornado.

Exemplos

O exemplo a seguir solicita que um link de compartilhamento seja criado para o driveItem especificado por {itemId} no OneDrive. O link de compartilhamento é configurado como somente leitura e utilizável por qualquer pessoa com o link.

Solicitação

POST /me/drive/items/{itemId}/createLink
Content-Type: application/json

{
  "type": "view",
  "scope": "anonymous",
  "password": "String",
  "recipients": [
    {
      "@odata.type": "microsoft.graph.driveRecipient"
    }
  ]
}

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var type = "view";

var scope = "anonymous";

var password = "String";

var recipients = new List<DriveRecipient>()
{
    new DriveRecipient
    {
    }
};

await graphClient.Me.Drive.Items["{driveItem-id}"]
    .CreateLink(type,scope,null,password,null,recipients,null)
    .Request()
    .PostAsync();

Importante

Os SDKs do Microsoft Graph usam a versão v1.0 da API por padrão e não dão suporte a todos os tipos, propriedades e APIs disponíveis na versão beta. Para obter detalhes sobre como acessar a API beta com o SDK, consulte Usar os SDKs do Microsoft Graph com a API beta.

Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.

Resposta

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

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "view",
    "scope": "anonymous",
    "webUrl": "https://1drv.ms/A6913278E564460AA616C71B28AD6EB6",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  },
  "hasPassword": true
}

O OneDrive for Business e o SharePoint oferecem suporte a links compartilháveis pela empresa. Estes são semelhantes a links anônimos, com a diferença de que apenas funcionam para membros da organização proprietária. Para criar um link compartilhável pela empresa, use o parâmetro scope com um valor de organization.

Solicitação

POST /me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "edit",
  "scope": "organization"
}

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var type = "edit";

var scope = "organization";

await graphClient.Me.Drive.Items["{driveItem-id}"]
    .CreateLink(type,scope,null,null,null,null,null)
    .Request()
    .PostAsync();

Importante

Os SDKs do Microsoft Graph usam a versão v1.0 da API por padrão e não dão suporte a todos os tipos, propriedades e APIs disponíveis na versão beta. Para obter detalhes sobre como acessar a API beta com o SDK, consulte Usar os SDKs do Microsoft Graph com a API beta.

Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.

Resposta

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "edit",
    "scope": "organization",
    "webUrl": "https://contoso-my.sharepoint.com/personal/ellen_contoso_com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

Ao usar o tipo de link embed, a webUrl retornada pode ser inserida em um elemento HTML <iframe>. Quando um link de inserção é criado, a propriedade webHtml contém o código HTML de um <iframe> para hospedar o conteúdo.

Observação: os links de inseridos só tem suporte no OneDrive Pessoal.

Solicitar

POST /me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "embed"
}

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var type = "embed";

await graphClient.Me.Drive.Items["{driveItem-id}"]
    .CreateLink(type,null,null,null,null,null,null)
    .Request()
    .PostAsync();

Importante

Os SDKs do Microsoft Graph usam a versão v1.0 da API por padrão e não dão suporte a todos os tipos, propriedades e APIs disponíveis na versão beta. Para obter detalhes sobre como acessar a API beta com o SDK, consulte Usar os SDKs do Microsoft Graph com a API beta.

Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.

Resposta

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["read"],
  "link": {
    "type": "embed",
    "webHtml": "<IFRAME src=\"https://onedrive.live.com/...\"></IFRAME>",
    "webUrl": "https://onedive.live.com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

Comentários

  • Para criar um link com base na política padrão da organização e nas permissões do chamador no driveItem, omita os parâmetros de escopo e de tipo
  • Links criados usando esta ação não expiram, a menos que uma política de expiração padrão seja imposta à organização.
  • Os links ficam visíveis nas permissões de compartilhamento do driveItem e podem ser removidos por um proprietário do driveItem.
  • Os links sempre apontam para a versão atual de um driveItem, a menos que o driveItem esteja com check-out (SharePoint somente).