Geben Sie den Standardkanal für Benachrichtigungen zu Bildungseinrichtungen mithilfe der Microsoft Graph-API
In diesem Artikel wird beschrieben, wie Sie die Bildungs-API in Microsoft Graph verwenden, um den Microsoft Teams-Standardkanal anzugeben, an den Benachrichtigungen zu einer Aufgabe gesendet werden sollen. Das Angeben des Standardkanals umfasst das Erstellen der notificationChannelUrl-Zeichenfolgeneigenschaft für ein educationAssignment. Der Standardwert für diese Eigenschaft ist null
.
Voraussetzungen
Identifizieren Sie vor dem Erstellen der Eigenschaft das entsprechende Team für die Zuweisung und den Namen des Kanals.
Um das Team für die Aufgabe zu identifizieren, klicken Sie im linken Menü in Teams auf Teams , und wählen Sie dann das entsprechende Team aus.
Identifizieren Sie den geeigneten Kanal innerhalb des ausgewählten Teams.
Erstellen des NotificationChannelUrl-Eigenschaftswerts
In den folgenden Schritten wird beschrieben, wie der Eigenschaftswert erstellt wird.
Schritt 1: Abrufen der Team-ID basierend auf Ihrem Teamnamen
Um die Team-ID zu ermitteln, stellen Sie eine GET-Anforderung mit dem Teamnamen. Wenn Sie bereits über die Team-ID verfügen, überspringen Sie diesen Schritt.
Anforderung
Das folgende Beispiel zeigt die Antwort.
GET https://graph.microsoft.com/v1.0/teams?$filter=displayName eq 'English Fall ''21'
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 Ok
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams",
"@odata.count": 1,
"value": [
{
"id": "72a7baec-c3e9-4213-a850-f62de0adad5f",
"createdDateTime": null,
"displayName": "English Fall '21",
"description": "English Fall '21",
"internalId": null,
"classification": null,
"specialization": null,
"visibility": null,
"webUrl": null,
"isArchived": null,
"isMembershipLimitedToOwners": null,
"memberSettings": null,
"guestSettings": null,
"messagingSettings": null,
"funSettings": null,
"discoverySettings": null
}
]
}
Schritt 2: Abrufen der Kanal-ID basierend auf Kanalname und Team-ID
Stellen Sie eine GET-Anforderung mit der Im vorherigen Schritt erhaltenen Team-ID und dem Kanalnamen. Überspringen Sie diesen Schritt, wenn Sie bereits über die Kanal-ID verfügen.
Anforderung
Das folgende Beispiel zeigt die Antwort.
GET https://graph.microsoft.com/v1.0/teams/72a7baec-c3e9-4213-a850-f62de0adad5f/channels?$filter=displayName eq 'General'
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 Ok
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('72a7baec-c3e9-4213-a850-f62de0adad5f')/channels",
"@odata.count": 1,
"value": [
{
"id": "19:jb2-ckDy2jONyW6ElO1phAVD5cTjuswYgoumI0oxrUw1@thread.tacv2",
"createdDateTime": "2021-08-25T12:33:49.124Z",
"displayName": "General",
"description": "English Fall '21",
"isFavoriteByDefault": null,
"email": "",
"webUrl": "https://teams.microsoft.com/l/channel/19%3Ajb2-ckDy2jONyW6ElO1phAVD5cTjuswYgoumI0oxrUw1%40thread.tacv2/General?groupId=72a7baec-c3e9-4213-a850-f62de0adad5f&tenantId=b6338c92-533e-4f6d-a327-994263712399",
"membershipType": "standard"
}
]
}
Schritt 3: Erstellen des Werts für die notificationChannelUrl-Eigenschaft
Erstellen Sie den Wert für die notificationChannelUrl-Eigenschaft im folgenden Format:
https://graph.microsoft.com/v1.0/teams/{team-id}/channels/{channel-id}
Ersetzen Sie die {team-id}
Platzhalter und {channel-id}
durch die in der folgenden Tabelle beschriebenen Werte.
Platzhalter | Beschreibung | Beispiel |
---|---|---|
{team-id} |
Die Team-ID aus der Antwort in Schritt 1. Dies ist das Team, zu dem die aktuelle Aufgabe gehört. | 72a7baec-c3e9-4213-a850-f62de0adad5f |
{channel-id} |
Element-ID aus dem Antworttext, der in Schritt 2 abgerufen wurde. | 19:jb2-ckDy2jONyW6ElO1phAVD5cTjuswYgoumI0oxrUw1@thread.tacv2 |
Das folgende Beispiel zeigt eine notificationChannelUrl basierend auf diesem Format.
https://graph.microsoft.com/v1.0/teams/72a7baec-c3e9-4213-a850-f62de0adad5f/channels/19:jb2-ckDy2jONyW6ElO1phAVD5cTjuswYgoumI0oxrUw1@thread.tacv2
Schritt 4: Zuweisen des Werts zur notificationChannelUrl-Eigenschaft für die Zuweisung
Sie haben die URL nun erfolgreich erstellt. Es ist an der Zeit, der Eigenschaft den Wert zuzuweisen. Sie können diesen Vorgang ausführen, indem Sie entweder die Ressourcen educationAssignment oder educationAssignmentDefaults aktualisieren.
Beispiel 1: Aktualisieren einer educationAssignment-Datei
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
PATCH https://graph.microsoft.com/beta/education/classes/72a7baec-c3e9-4213-a850-f62de0adad5f/assignments/4679bc1b-90c5-45af-ae1a-d5357672ed39
Content-type: application/json
{
"displayName": "Property update",
"notificationChannelUrl": "https://graph.microsoft.com/v1.0/teams/72a7baec-c3e9-4213-a850-f62de0adad5f/channels/19:jb2-ckDy2jONyW6ElO1phAVD5cTjuswYgoumI0oxrUw1@thread.tacv2"
}
Antwort
Das folgende Beispiel zeigt die Antwort.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#education/classes('72a7baec-c3e9-4213-a850-f62de0adad5f')/assignments/$entity",
"classId": "72a7baec-c3e9-4213-a850-f62de0adad5f",
"displayName": "Property update",
"closeDateTime": null,
"dueDateTime": "2021-09-10T00:00:00Z",
"assignDateTime": null,
"assignedDateTime": null,
"allowLateSubmissions": true,
"resourcesFolderUrl": null,
"createdDateTime": "2021-09-03T23:57:14.6088791Z",
"lastModifiedDateTime": "2021-09-04T15:01:35.3361649Z",
"allowStudentsToAddResourcesToSubmission": true,
"status": "draft",
"notificationChannelUrl": "https://graph.microsoft.com/v1.0/teams/72a7baec-c3e9-4213-a850-f62de0adad5f/channels/19:jb2-ckDy2jONyW6ElO1phAVD5cTjuswYgoumI0oxrUw1@thread.tacv2",
"webUrl": "https://teams.microsoft.com/l/entity/66aeee93-507d-479a-a3ef-8f494af43945/classroom?context=%7B%22subEntityId%22%3A%22%7B%5C%22version%5C%22%3A%5C%221.0%5C%22,%5C%22config%5C%22%3A%7B%5C%22classes%5C%22%3A%5B%7B%5C%22id%5C%22%3A%5C%2272a7baec-c3e9-4213-a850-f62de0adad5f%5C%22,%5C%22displayName%5C%22%3Anull,%5C%22assignmentIds%5C%22%3A%5B%5C%224679bc1b-90c5-45af-ae1a-d5357672ed39%5C%22%5D%7D%5D%7D,%5C%22action%5C%22%3A%5C%22navigate%5C%22,%5C%22view%5C%22%3A%5C%22assignment-viewer%5C%22%7D%22,%22channelId%22%3Anull%7D",
"addToCalendarAction": "studentsAndPublisher",
"addedStudentAction": "none",
"id": "4679bc1b-90c5-45af-ae1a-d5357672ed39",
"instructions": {
"content": "Read chapter 5 and write your review",
"contentType": "text"
},
"grading": {
"@odata.type": "#microsoft.graph.educationAssignmentPointsGradeType",
"maxPoints": 50
},
"assignTo": {
"@odata.type": "#microsoft.graph.educationAssignmentClassRecipient"
},
"createdBy": {
"application": null,
"device": null,
"user": {
"id": "f3a5344e-dbde-48b0-be24-b5b62a243836",
"displayName": null
}
},
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"id": "f3a5344e-dbde-48b0-be24-b5b62a243836",
"displayName": null
}
}
}
Beispiel 2: Aktualisieren von educationAssignmentDefaults
Anforderung
PATCH https://graph.microsoft.com/beta/education/classes/72a7baec-c3e9-4213-a850-f62de0adad5f/assignmentDefaults
Content-Type: application/json
{
"addToCalendarAction": "studentsOnly",
"notificationChannelUrl": "https://graph.microsoft.com/v1.0/teams/72a7baec-c3e9-4213-a850-f62de0adad5f/channels/19:jb2-ckDy2jONyW6ElO1phAVD5cTjuswYgoumI0oxrUw1@thread.tacv2"
}
Antwort
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
HTTP/1.1 200 OK
Content-Type: application/json
{
"addedStudentAction": "assignIfOpen",
"addToCalendarAction": "studentsOnly",
"dueTime": "23:59:00",
"notificationChannelUrl": "https://graph.microsoft.com/v1.0/teams/72a7baec-c3e9-4213-a850-f62de0adad5f/channels/19:jb2-ckDy2jONyW6ElO1phAVD5cTjuswYgoumI0oxrUw1@thread.tacv2"
}