taskFileAttachment: createUploadSession

Namespace: microsoft.graph

Crie uma sessão de upload para carregar iterativamente intervalos de um arquivo como anexo a um todoTask.

Como parte da resposta, essa ação retorna uma URL de upload que você pode usar em consultas sequenciais PUT subsequentes. Os cabeçalhos de solicitação de cada PUT operação permitem especificar o intervalo exato de bytes a ser carregado. Isso permite que a transferência seja retomada, caso a conexão de rede seja interrompida durante o upload.

Veja a seguir as etapas para anexar um arquivo a uma tarefa do Microsoft To Do usando uma sessão de upload:

  1. Crie uma sessão de upload.
  2. Nessa sessão de upload, carregue iterativamente intervalos de bytes (até 4 MB de cada vez) até que todos os bytes do arquivo tenham sido carregados e o arquivo seja anexado ao todoTask.
  3. Opcional: exclua a sessão de upload.

Observação: Use essa abordagem para anexar um arquivo de qualquer tamanho com suporte entre 0 MB e 25 MB.

Para obter um exemplo que descreve o processo de anexo de ponta a ponta, consulte anexar arquivos a uma tarefa pendente.

Essa API está disponível nas seguintes implantações de nuvem nacional.

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

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) Tasks.ReadWrite Indisponível.
Delegado (conta pessoal da Microsoft) Tasks.ReadWrite Indisponível.
Aplicativo Sem suporte. Sem suporte.

Solicitação HTTP

POST /me/todo/lists/{id}/tasks/{id}/attachments/createUploadSession
POST /users/{id}/todo/lists/{id}/tasks/{id}/attachments/createUploadSession

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON dos parâmetros.

A tabela a seguir mostra o parâmetro que pode ser usado com essa ação.

Parâmetro Tipo Descrição
attachmentInfo attachmentInfo Representa os atributos do item a ser carregado e anexado. No mínimo, especifique o tipo de anexo (file), um nome e o tamanho do arquivo.

Resposta

Se for bem-sucedida, essa ação retornará um código de 200 OK resposta e um novo uploadSession no corpo da resposta.

Exemplos

Solicitação

O exemplo a seguir mostra uma solicitação para criar uma sessão de upload.

POST https://graph.microsoft.com/v1.0/me/todo/lists/AAMDiFkfh=/tasks/AAMkADliMm=/attachments/createUploadSession
Content-Type: application/json

{
  "attachmentInfo": {
    "attachmentType": "file",
    "name": "flower",
    "size": 3483322
  }
}

Resposta

O exemplo a seguir mostra a resposta.

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

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.uploadSession",
    "uploadUrl": "https://graph.microsoft.com/v1.0/users/6f9a2a92-8527-4d64-837e-b5312852f36d/todo/lists/AAMDiFkfh=/tasks/AAMkADliMm=/attachmentSessions/AAMkADliMm=",
    "expirationDateTime": "2022-06-09T10:45:27.4324526Z",
    "nextExpectedRanges": [
        "0-"
    ]
}