taskFileAttachment: createUploadSession

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Crea una sesión de carga para cargar iterativamente intervalos de un archivo como datos adjuntos a un todoTask.

Como parte de la respuesta, esta acción devuelve una dirección URL de carga que puede usar en consultas secuenciales PUT posteriores. Los encabezados de solicitud de cada PUT operación le permiten especificar el intervalo exacto de bytes que se van a cargar. Esto permite reanudar la transferencia, en caso de que la conexión de red se interrumpa durante la carga.

A continuación se indican los pasos para adjuntar un archivo a una tarea de Microsoft To Do mediante una sesión de carga:

  1. Cree una sesión de carga.
  2. Dentro de esa sesión de carga, cargue iterativamente rangos de bytes (hasta 4 MB cada vez) hasta que se hayan cargado todos los bytes del archivo y el archivo se adjunte a todoTask.
  3. Opcional: elimina la sesión de carga.

Nota: Utilice este enfoque para adjuntar un archivo de cualquier tamaño admitido entre 0 MB y 25 MB.

Para obtener un ejemplo que describe el proceso de datos adjuntos de un extremo a otro, vea Adjuntar archivos a una tarea de To Do.

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ❌

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) Tasks.ReadWrite No disponible.
Delegado (cuenta personal de Microsoft) Tasks.ReadWrite No disponible.
Aplicación No admitida. No admitida.

Solicitud HTTP

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

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización.
Content-Type application/json. Obligatorio.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON de los parámetros.

La tabla siguiente muestra el parámetro que se puede utilizar con esta acción.

Parámetro Tipo Descripción
attachmentInfo attachmentInfo Representa los atributos del elemento que se va a cargar y adjuntar. Especifique como mínimo el tipo de datos adjuntos (file), un nombre y el tamaño del archivo.

Respuesta

Si se realiza correctamente, esta acción devuelve un 200 OK código de respuesta y una nueva uploadSession en el cuerpo de la respuesta.

Ejemplos

Solicitud

En el siguiente ejemplo se muestra una solicitud para crear una sesión de carga.

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

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

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

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