Angeben des Standardkanals für Aufgabenbenachrichtigungen für Bildungseinrichtungen mithilfe der Microsoft Graph-API

In diesem Artikel wird beschrieben, wie Sie die Bildungs-API in Microsoft Graph verwenden, um den Standardmäßigen Microsoft Teams-Kanal anzugeben, an den Benachrichtigungen über eine Aufgabe gesendet werden sollen. Das Angeben des Standardkanals umfasst das Erstellen der notificationChannelUrl-Zeichenfolgeneigenschaft für ein educationAssignment.Specifying the default channel involves building the notificationChannelUrl string property for an educationAssignment. Der Standardwert für diese Eigenschaft ist null.

Voraussetzungen

Identifizieren Sie vor dem Erstellen der Eigenschaft das entsprechende Team für die Zuordnung 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 eines Teams, das aus dem Teams-Navigationselement ausgewählt wurde

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

Screenshot eines in einem Team ausgewählten Kanals

Erstellen des Eigenschaftswerts "notificationChannelUrl"

In den folgenden Schritten wird beschrieben, wie Sie den Eigenschaftswert erstellen.

Schritt 1 : Abrufen der Team-ID basierend auf Ihrem Teamnamen

Um die Team-ID zu finden, 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 abgerufenen 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} Werte und {channel-id} Platzhalter 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 Zuordnung

Sie haben die URL jetzt erfolgreich erstellt, es ist An der Zeit, den Wert der Eigenschaft zuzuweisen. Sie können diesen Vorgang ausführen, indem Sie entweder die EducationAssignment - oder educationAssignmentDefaults-Ressourcen aktualisieren.

Beispiel 1: Aktualisieren eines educationAssignment-Objekts

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung.

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

Nachfolgend sehen Sie ein Beispiel der 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"
}

Siehe auch