taskFileAttachment: createUploadSession

Namespace: microsoft.graph

Crie uma sessão de upload para carregar iterativamente intervalos de um arquivo como um 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 serem carregados. Isso permite que a transferência seja retomada, caso a conexão de rede seja descartada durante o upload.

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

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

Nota: 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, confira anexar arquivos a uma tarefa De Fazer.

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

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

Permissões

Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas 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 privilegiadas mais altas
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 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 200 OK código de 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-"
    ]
}