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.

Screenshot: Ausgewähltes Team im Teams-Navigationselement

Identifizieren Sie den geeigneten Kanal innerhalb des ausgewählten Teams.

Screenshot eines in einem Team ausgewählten Kanals

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