Carga de archivos para asignaciones y envíos educativos mediante Microsoft Graph API
Los recursos son una parte integral de las asignaciones y envíos educativos. Los profesores determinan los recursos que se van a cargar en una carpeta de asignación y los alumnos determinan los recursos que se van a cargar en una carpeta de envío.
En este artículo se describe cómo usar la API de educación en Microsoft Graph para cargar archivos en una carpeta de asignación o envío.
Requisitos previos
Antes de cargar archivos, configure una carpeta de SharePoint en la que cargar los archivos para una asignación de educación o un recurso de envío determinados.
Carga de un recurso
La setUpResourcesFolder
API devuelve un modelo que contiene la propiedad resourcesFolderUrl .
{
...
"resourcesFolderUrl": "https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GFA"
...
}
En los pasos siguientes se describe cómo cargar un recurso o archivo en una carpeta de recursos pertinente.
Paso 1: Construcción de la dirección URL de carga
Compile la dirección URL para cargar contenido con este formato {resourcesFolderUrl}:/{Name of new file}:/content
específico. En el ejemplo siguiente se muestra una dirección URL de carga que contiene la propiedad resourcesFolderUrl .
https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GE2:/MyPictureFile.png:/content
Paso 2: Carga del recurso en SharePoint
Realice una solicitud PUT con la dirección URL de carga para cargar el contenido.
El contenido del cuerpo de la solicitud debe ser la secuencia binaria del archivo que se cargará.
Para obtener más información, consulte Carga de archivos grandes con una sesión de carga.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
PUT https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GE2:/MyPictureFile.png:/content
Content-Type: text/plain
Binary data for the file
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives('b%216SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F')/items/$entity",
"@microsoft.graph.downloadUrl": "...",
"createdDateTime": "2021-03-11T18:49:47Z",
"eTag": "\"{EDD00CE7-B74C-4C3E-BA3E-484CB41EF31D},1\"",
"id": "01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ",
"lastModifiedDateTime": "2021-03-11T18:49:47Z",
"name": "MyPictureFile.png",
"webUrl": "https://contososdorg.sharepoint.com/sites/GraphTest/Class%20Files/Assignments/Test%20File%20Distribution/MyPictureFile.png",
"cTag": "\"c:{EDD00CE7-B74C-4C3E-BA3E-484CB41EF31D},2\"",
"size": 2302233,
"createdBy": {
"application": null,
"device": null,
"user": {
"email": "t-james@contososd.org",
"id": "42ff222c-571f-497c-a9d3-f77ea9ece327",
"displayName": "James"
}
},
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"email": "t-james@contososd.org",
"id": "42ff222c-571f-497c-a9d3-f77ea9ece327",
"displayName": "James"
}
},
"parentReference": {
"driveId": "b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F",
"driveType": "documentLibrary",
"id": "01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GE2",
"path": "/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/root:/Assignments/Test File Distribution"
},
"file": {
"mimeType": "image/png",
"hashes": {
"quickXorHash": "CvYQxN7MCGrIsdrA38c6wWhOu5g="
}
},
"fileSystemInfo": {
"createdDateTime": "2021-03-11T18:49:47Z",
"lastModifiedDateTime": "2021-03-11T18:49:47Z"
},
"image": {}
}
Paso 3: Construir el valor de la propiedad fileUrl
Compile el valor de la propiedad fileUrl con el formato siguiente: https://graph.microsoft.com/v1.0/drives/{drive-id}/items/{item-id}
. Reemplace los {drive-id}
marcadores de posición y {item-id}
por los valores descritos en la tabla siguiente.
Marcador de posición | Descripción | Ejemplo |
---|---|---|
{drive-id} |
Identificador de unidad de la dirección URL de solicitud usada en el paso 2. | b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F |
{item-id} |
Id. de elemento del cuerpo de la respuesta obtenido en el paso 2. | 01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ |
En el ejemplo siguiente se muestra un archivoUrl basado en este formato.
https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ
Paso 4: Creación de educationAssignmentResource
En este paso se muestra cómo cargar un recurso de SharePoint en una carpeta de recursos de asignación.
Use del fileUrl
paso anterior en el cuerpo de la solicitud para crear un educationAssignmentResource.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/v1.0/education/classes/b07edbef-7420-4b3d-8f7c-d599cf21e069/assignments/48b80dff-452a-4108-bd85-fa0d84e39d0a/resources
Content-type: application/json
{
"resource": {
"@odata.type": "#microsoft.graph.educationFileResource",
"fileUrl": "https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ",
"displayName": "Parts of a Sonnet"
}
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#education/classes('b07edbef-7420-4b3d-8f7c-d599cf21e069')/assignments('48b80dff-452a-4108-bd85-fa0d84e39d0a')/resources/$entity",
"distributeForStudentWork": false,
"id": "ff1aafe4-ae89-49c3-8366-4b509f640d6a",
"resource": {
"@odata.type": "#microsoft.graph.educationFileResource",
"displayName": "Parts of a Sonnet",
"createdDateTime": "2021-03-11T18:35:40.6642039Z",
"lastModifiedDateTime": "2021-03-11T18:35:40.6642039Z",
"fileUrl": "https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ",
"createdBy": {
"application": null,
"device": null,
"user": {
"id": "42ff222c-571f-497c-a9d3-f77ea9ece327",
"displayName": null
}
},
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"id": "42ff222c-571f-497c-a9d3-f77ea9ece327",
"displayName": null
}
}
}
}
Ahora ha cargado correctamente un recurso de SharePoint en una carpeta de recursos de asignación (y lo ha adjuntado a la asignación asociada). Puede seguir pasos similares para cargar uno o varios recursos de trabajo de alumnos.
Para obtener más información, consulte Creación de educationSubmissionResource.