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. |
Tipos de link
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
Exemplo 1: Criar um link de compartilhamento anônimo
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
}
Exemplo 2: Criação de links compartilháveis da empresa
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"
},
}
}
Exemplo 3: Criação de links inbeddáveis
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).
Comentários
Enviar e exibir comentários de