Charger des fichiers pour les devoirs et les soumissions d’éducation à l’aide de Microsoft API Graph
Les ressources font partie intégrante des devoirs et des soumissions d’études. Les enseignants déterminent les ressources à charger dans un dossier de devoir, et les étudiants déterminent les ressources à charger dans un dossier de soumission.
Cet article explique comment utiliser l’API éducation dans Microsoft Graph pour charger des fichiers dans un dossier de devoir ou de soumission.
Configuration requise
Avant de pouvoir charger des fichiers, configurez un dossier SharePoint dans lequel charger les fichiers pour une ressource d’affectation ou de soumission d’enseignement donnée.
Charger une ressource
L’API setUpResourcesFolder
retourne un modèle qui contient la propriété resourcesFolderUrl .
{
...
"resourcesFolderUrl": "https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GFA"
...
}
Les étapes suivantes décrivent comment charger une ressource/un fichier dans un dossier de ressources approprié.
Étape 1 : Construire l’URL de chargement
Générez l’URL pour charger le contenu suivant ce format {resourcesFolderUrl}:/{Name of new file}:/content
spécifique. L’exemple suivant montre une URL de chargement qui contient la propriété resourcesFolderUrl .
https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GE2:/MyPictureFile.png:/content
Étape 2 : charger la ressource dans SharePoint
Effectuez une requête PUT avec l’URL de chargement pour charger le contenu.
Le contenu du corps de la demande doit être le flux binaire du fichier à télécharger.
Pour plus d’informations, consultez Charger des fichiers volumineux avec une session de chargement.
Demande
L’exemple suivant illustre la demande.
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
Réponse
L’exemple suivant illustre la réponse.
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": {}
}
Étape 3 : construire la valeur de la propriété fileUrl
Générez la valeur de la propriété fileUrl au format suivant : https://graph.microsoft.com/v1.0/drives/{drive-id}/items/{item-id}
. Remplacez les {drive-id}
espaces réservés et {item-id}
par les valeurs décrites dans le tableau suivant.
Espace réservé | Description | Exemple |
---|---|---|
{drive-id} |
ID de lecteur de l’URL de requête utilisée à l’étape 2. | b !6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F |
{item-id} |
ID d’élément du corps de la réponse obtenu à l’étape 2. | 01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ |
L’exemple suivant montre un fileUrl basé sur ce format.
https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ
Étape 4 : Créer educationAssignmentResource
Cette étape montre comment charger une ressource SharePoint dans un dossier de ressources d’affectation.
Utilisez le fileUrl
de l’étape précédente dans le corps de la demande pour Créer une educationAssignmentResource.
Demande
L’exemple suivant illustre la demande.
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"
}
}
Réponse
L’exemple suivant illustre la réponse.
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
}
}
}
}
Vous avez maintenant correctement chargé une ressource SharePoint dans un dossier de ressources d’affectation (et l’avez attachée à l’affectation associée). Vous pouvez suivre des étapes similaires pour charger une ou plusieurs ressources de travail d’étudiant.
Pour plus d’informations, consultez Créer educationSubmissionResource.