Hochladen von Feedbackdateien für Bildungseinrichtungen mithilfe des Microsoft-Graph-API

Ressourcen sind ein integraler Bestandteil von Bildungszuweisungen und -übermittlungen. Lehrkräfte bestimmen die Ressourcen, die in einen Aufgabenordner hochgeladen werden sollen, und die Kursteilnehmer bestimmen die Ressourcen, die in einen Feedbackressourcenordner hochgeladen werden sollen.

In diesem Artikel wird beschrieben, wie Sie die Education-API in Microsoft Graph verwenden, um Dateien in einen Ordner mit Feedbackressourcen hochzuladen.

Voraussetzungen

Bevor Sie Dateien hochladen können, richten Sie einen SharePoint-Ordner ein, in den die Dateien für eine bestimmte Bildungszuweisung oder Übermittlungsressource hochgeladen werden sollen.

Hochladen einer Ressource

Die setUpFeedbackResourcesFolder-API für die Übermittlung gibt ein Modell zurück, das die eigenschaft resourcesFolderUrl enthält.

{
    ...
    "resourcesFolderUrl": "https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GFA"
    ...
}

In den folgenden Schritten wird beschrieben, wie Sie eine Ressource/Datei in einen relevanten Ressourcenordner hochladen.

Schritt 1: Erstellen der Upload-URL

Erstellen Sie die URL zum Hochladen von Inhalten im folgenden format: {resourcesFolderUrl}:/{Name of new file}:/content. Das folgende Beispiel zeigt eine Upload-URL, die die resourcesFolderUrl-Eigenschaft enthält.

https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GE2:/MyPictureFile.png:/content

Schritt 2: Hochladen der Ressource in SharePoint

Stellen Sie eine PUT-Anforderung mit der Upload-URL, um den Inhalt hochzuladen.

Der Inhalt des Anforderungstexts sollte den binären Stream der hochzuladenden Datei sein.

Weitere Informationen finden Sie unter Hochladen großer Dateien mit einer Uploadsitzung.

Anforderung

Das folgende Beispiel zeigt die Antwort.

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

Antwort

Das folgende Beispiel zeigt die Antwort.

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": {}
}

Schritt 3: Erstellen des Werts für die FileUrl-Eigenschaft

Erstellen Sie den Wert für die fileUrl-Eigenschaft im folgenden Format: https://graph.microsoft.com/v1.0/drives/{drive-id}/items/{item-id}. Ersetzen Sie die {drive-id} Platzhalter und {item-id} durch die in der folgenden Tabelle beschriebenen Werte.

Platzhalter Beschreibung Beispiel
{drive-id} Die Laufwerks-ID aus der anforderungs-URL, die in Schritt 2 verwendet wurde. b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F
{item-id} Element-ID aus dem Antworttext, der in Schritt 2 abgerufen wurde. 01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ

Das folgende Beispiel zeigt eine fileUrl , die auf diesem Format basiert.

https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ

Schritt 4: Erstellen von educationFeedbackResourceOutcome

In diesem Schritt wird gezeigt, wie Sie eine SharePoint-Ressource in einen Feedbackressourcenordner hochladen.

Verwenden Sie die fileUrl aus dem vorherigen Schritt im Anforderungstext, um ein educationFeedbackResourceOutcome zu erstellen.

Anforderung

Das folgende Beispiel zeigt die Antwort.


POST https://graph.microsoft.com/beta/education/classes/37d99af7-cfc5-4e3b-8566-f7d40e4a2070/assignments/a3cce0ba-2008-4c4d-bf62-079408562d96/submissions/2185e6d7-2924-4ed1-dde1-269f89e29184/outcomes
Content-type: application/json

{ 
    "@odata.type": "#microsoft.graph.educationFeedbackResourceOutcome",
    "feedbackResource": {
         "@odata.type": "#microsoft.graph.educationWordResource",
         "displayName": "Document1.docx"
     }
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/education/classes('37d99af7-cfc5-4e3b-8566-f7d40e4a2070')/assignments('a3cce0ba-2008-4c4d-bf62-079408562d96')/submissions('2185e6d7-2924-4ed1-dde1-269f89e29184')/outcomes/$entity",
    "@odata.type": "#microsoft.graph.educationFeedbackResourceOutcome",
    "lastModifiedDateTime": "2022-05-06T00:50:30.0772434Z",
    "id": "ba12f282-2190-4958-80b3-42b8afb9626a",
    "resourceStatus": "notPublished",
    "lastModifiedBy": {
        "application": null,
        "device": null,
        "user": {
            "id": "cb1a4af3-0aba-4679-aa12-9f99bab0b61a",
            "displayName": null
        }
    },
    "feedbackResource": {
        "@odata.type": "#microsoft.graph.educationWordResource",
        "displayName": "Document1.docx",
        "createdDateTime": "2022-05-06T00:50:30.0772177Z",
        "lastModifiedDateTime": "2022-05-06T00:50:30.0772434Z",
        "fileUrl": "https://graph.microsoft.com/beta/drives/b!-Ik2sRPLDEWy_bR8l75jfeDcpXQcRKVOmcml10NQLQ1F8CNZWU38SarWxPyWM7jx/items/01VANVJQZQ33I4AJBSURHZJDDQKEJ5TEMJ",
        "createdBy": {
            "application": null,
            "device": null,
            "user": {
                "id": "cb1a4af3-0aba-4679-aa12-9f99bab0b61a",
                "displayName": null
            }
        },
        "lastModifiedBy": {
            "application": null,
            "device": null,
            "user": {
                "id": "cb1a4af3-0aba-4679-aa12-9f99bab0b61a",
                "displayName": null
            }
        }
    }
}


Sie haben nun erfolgreich eine Ressource in einen Feedbackressourcenordner hochgeladen (und sie an die zugeordnete Übermittlung angefügt). Sie können ähnliche Schritte ausführen, um eine oder mehrere Feedbackressourcen hochzuladen.

Weitere Informationen finden Sie unter Erstellen von educationFeedbackResourceOutcome.