Carregar um item no OneDrive de uma URL (prévia)

Seu aplicativo pode carregar um item no OneDrive fornecendo uma URL. O OneDrive baixará o arquivo diretamente de um servidor remoto para que o aplicativo não precise carregar os bytes do arquivo. Isso é especialmente útil para clientes móveis ou suplementos de navegador, em que os conteúdos dos arquivos não estão disponíveis ou fica caro fazer a transferência deles.

Para carregar arquivos grandes, consulte Carregar arquivos grandes com uma sessão de carregamento.

Observação: você só pode carregar itens de uma URL para o OneDrive Pessoal.

Permissões

Uma das permissões a seguir é necessária para chamar essa 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)
Delegada (conta corporativa ou de estudante) n/d
Delegada (conta pessoal da Microsoft) Files.ReadWrite, Files.ReadWrite.All
Aplicativo n/d

Solicitação HTTP

POST /me/drive/items/{parent-item}/children

Cabeçalhos de solicitação

Nome Tipo Descrição
Prefer string Defina como respond-async para habilitar a transferência de item assíncrona. Caso contrário, a solicitação será anulada.

Corpo da solicitação

O conteúdo do corpo da solicitação deve ser a representação JSON do item a ser criado a partir da URL remota. Observe que, quando o servidor baixa o arquivo da URL remota, ele não faz a autenticação como o usuário, portanto, a URL deve estar publicamente acessível.

Resposta

Esse método retorna detalhes sobre como monitorar o progresso do download após aceitar a solicitação.

HTTP/1.1 202 Accepted
Location: https://api.onedrive.com/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717

Exemplo

POST /drive/items/{parent-item}/children
Content-Type: application/json
Prefer: respond-async

{
  "@microsoft.graph.sourceUrl": "http://wscont2.apps.microsoft.com/winstore/1x/e33e38d9-d138-42a1-b252-27da1924ca87/Screenshot.225037.100000.jpg",
  "name": "halo-screenshot.jpg",
  "file": { }
}

Resposta

O serviço retornará imediatamente após a aceitação da solicitação e fornecerá detalhes sobre como monitorar o progresso da cópia.

HTTP/1.1 202 Accepted
Location: https://api.onedrive.com/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717

O valor do cabeçalho Location fornece uma URL que pode ser usada para ver o estado atual da operação e informar quando o carregamento for concluído.

Comentários

Não há suporte para o upload de um item usando URL no OneDrive for Business, SharePoint Online e SharePoint Server 2016.