Freigeben über


team: sendActivityNotification

Namespace: microsoft.graph

Senden einer Aktivitätsfeedbenachrichtigung im Bereich eines Teams. Weitere Informationen zum Senden von Benachrichtigungen und zu den anforderungen finden Sie unter Senden von Teams-Aktivitätsbenachrichtigungen.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) TeamsActivity.Send Nicht verfügbar.
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung TeamsActivity.Send.Group TeamsActivity.Send

Hinweis

Die Berechtigung TeamsActivity.Send.Group verwendet ressourcenspezifische Zustimmung.

HTTP-Anforderung

POST /teams/{teamId}/sendActivityNotification

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie als Anforderungstext eine JSON-Darstellung der Parameter an.

In der folgenden Tabelle sind die Parameter aufgeführt, die mit dieser Aktion verwendet werden können.

Parameter Typ Beschreibung
Thema teamworkActivityTopic Das Thema der Benachrichtigung. Gibt die Ressource an, über die gesprochen wird.
activityType Zeichenfolge Der Aktivitätstyp muss im Teams-App-Manifest deklariert werden, mit Ausnahme des systemDefaultAktivitätstyps Reserviert, der Freiformtext in der Actor+Reason Zeile der Benachrichtigung bereitstellt.
chainId Int64 Optional. Die Ketten-ID für die Benachrichtigung. Wird verwendet, um eine vorherige Benachrichtigung zu überschreiben. Verwenden Sie dasselbe chainId in nachfolgenden Anforderungen, um die vorherige Benachrichtigung zu überschreiben.
previewText itemBody Der Vorschautext für die Benachrichtigung. Microsoft Teams zeigt die ersten 150 Zeichen an.
templateParameters keyValuePair-Sammlung Die Werte für die Vorlagenvariablen, die im Aktivitätsfeedeintrag definiert sind, activityType der im Teams-App-Manifest entspricht.
recipient teamworkNotificationRecipient Der Empfänger der Benachrichtigung. Weitere Informationen finden Sie unter aadUserNotificationRecipient, channelMembersNotificationRecipient und teamMembersNotificationRecipient.
teamsAppId Zeichenfolge Optional. Die Teams-App-ID der Teams-App, die der Benachrichtigung zugeordnet ist. Wird verwendet, um installierte Apps zu unterscheiden, wenn mehrere Apps mit der gleichen Microsoft Entra ID-App-ID für denselben Empfängerbenutzer installiert werden. Vermeiden Sie die Freigabe von Microsoft Entra ID-App-IDs zwischen Teams-Apps.

Die folgenden Ressourcen werden unterstützt, wenn der source Wert der Topic-Eigenschaft auf entityUrlfestgelegt wird:

Anmerkung: Die Entitäts-URL muss die gleiche oder eine untergeordnete Ressource des Teams in der URL sein. Darüber hinaus muss die Teams-App im Team installiert sein.

Antwort

Wenn die Aktion erfolgreich verläuft, wird der Antwortcode 204 No Content zurückgegeben.

Beispiele

Beispiel 1: Benachrichtigen eines Benutzers über ausstehende Finanzgenehmigungsanforderungen

In diesem Beispiel wird gezeigt, wie Sie eine Aktivitätsfeedbenachrichtigung für ein Team senden können. In diesem Beispiel wird der Teambesitzer über ausstehende Finanzgenehmigungsanforderungen benachrichtigt.

Anforderung

POST https://graph.microsoft.com/v1.0/teams/{teamId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/{teamId}"
    },
    "activityType": "pendingFinanceApprovalRequests",
    "previewText": {
        "content": "Internal spending team has a pending finance approval requests"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "pendingRequestCount",
            "value": "5"
        }
    ] 
}

Antwort

HTTP/1.1 204 No Content

Beispiel 2: Benachrichtigen eines Benutzers über eine Kanalregisterkarte

Ähnlich wie im vorherigen Beispiel wird in diesem Beispiel für verwendet entityUrltopic. In diesem Beispiel wird jedoch eine Verknüpfung mit einer Registerkarte in einem Kanal erstellt. Die Registerkarte enthält eine Seite, auf der der Benutzer den Status seiner Hotelreservierung anzeigt. Wenn Sie die Benachrichtigung auswählen, gelangen Sie zur Registerkarte, auf der sie ihre Reservierung überprüfen können.

Anforderung

POST https://graph.microsoft.com/v1.0/teams/{teamId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/{teamId}/channels/{channelId}/tabs/{tabId}"
    },
    "activityType": "reservationUpdated",
    "previewText": {
        "content": "You have moved up the queue"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "reservationId",
            "value": "TREEE433"
        },
        {
            "name": "currentSlot",
            "value": "23"
        }
    ]
}

Antwort

HTTP/1.1 204 No Content

Beispiel 3: Benachrichtigen eines Benutzers über eine Kanalregisterkarte mithilfe des Benutzerprinzipalnamens

Ähnlich wie im vorherigen Beispiel wird in diesem Beispiel für verwendet entityUrltopic. In diesem Beispiel wird jedoch eine Verknüpfung mit einer Registerkarte in einem Kanal erstellt. Die Registerkarte enthält eine Seite, auf der der Benutzer den Status seiner Hotelreservierung anzeigt. Wenn Sie die Benachrichtigung auswählen, gelangen Sie zur Registerkarte, auf der sie ihre Reservierung überprüfen können.

Anforderung

POST https://graph.microsoft.com/v1.0/teams/{teamId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/{teamId}/channels/{channelId}/tabs/{tabId}"
    },
    "activityType": "reservationUpdated",
    "previewText": {
        "content": "You have moved up the queue"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "jacob@contoso.com"
    },
    "templateParameters": [
        {
            "name": "reservationId",
            "value": "TREEE433"
        },
        {
            "name": "currentSlot",
            "value": "23"
        }
    ]
}

Antwort

HTTP/1.1 204 No Content

Beispiel 4: Benachrichtigen eines Benutzers über ein Ereignis mithilfe eines benutzerdefinierten Themas

Wie in den vorherigen Beispielen gezeigt, können Sie links zu verschiedenen Aspekten des Teams erstellen. Wenn Sie jedoch eine Verknüpfung mit einem Aspekt herstellen möchten, der nicht Teil des Teams ist oder nicht von Microsoft Graph dargestellt wird, oder Wenn Sie den Namen anpassen möchten, können Sie die Quelle von topic auf text festlegen und einen benutzerdefinierten Wert dafür übergeben. webUrlist erforderlich, wenn die Quelle auf textfestgelegt topic wird.

Anforderung

POST https://graph.microsoft.com/v1.0/teams/{teamId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "text",
        "value": "Deployment Approvals Channel",
        "webUrl": "https://teams.microsoft.com/l/message/19:448cfd2ac2a7490a9084a9ed14cttr78c@thread.skype/1605223780000?tenantId=c8b1bf45-3834-4ecf-971a-b4c755ee677d&groupId=d4c2a937-f097-435a-bc91-5c1683ca7245&parentMessageId=1605223771864&teamName=Approvals&channelName=Azure%20DevOps&createdTime=1605223780000"
    },
    "activityType": "deploymentApprovalRequired",
    "previewText": {
        "content": "New deployment requires your approval"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "deploymentId",
            "value": "6788662"
        }
    ]
}

Antwort

HTTP/1.1 204 No Content

Beispiel 5: Benachrichtigen der Teammitglieder über ausstehende Finanzgenehmigungsanforderungen

Das folgende Beispiel zeigt, wie Sie eine Aktivitätsfeedbenachrichtigung an alle Teammitglieder senden können. Dieses Beispiel ähnelt den vorherigen Beispielen. In diesem Fall ist der Empfänger jedoch ein teamMembersNotificationRecipient. Die im Empfänger angegebene teamId muss mit der in der Anforderungs-URL angegebenen teamId übereinstimmen.

Anmerkung: Die Möglichkeit, Benachrichtigungen an alle Teammitglieder zu senden, ist auf Teams mit maximal 10.000 Mitgliedern beschränkt. Wenn das Team 10.000 Mitglieder überschreitet, erhält keines der Teammitglieder eine Benachrichtigung.

Anforderung

Das folgende Beispiel zeigt die Antwort.

POST https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7"
    },
    "activityType": "pendingFinanceApprovalRequests",
    "previewText": {
        "content": "Internal spending team has a pending finance approval requests"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.teamMembersNotificationRecipient",
        "teamId": "e8bece96-d393-4b9b-b8da-69cedef1a7e7"
    },
    "templateParameters": [
        {
            "name": "pendingRequestCount",
            "value": "5"
        }
    ] 
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content

Beispiel 6: Benachrichtigen der Kanalmitglieder über ausstehende Genehmigungsanforderungen für Finanzen

Das folgende Beispiel zeigt, wie Sie eine Aktivitätsfeedbenachrichtigung an alle Kanalmitglieder senden können. Dieses Beispiel ähnelt dem vorherigen Beispiel. In diesem Fall ist der Empfänger jedoch ein channelMembersNotificationRecipient. Die im Empfänger angegebene teamId muss mit der in der Anforderungs-URL angegebenen teamId übereinstimmen.

Anforderung

Das folgende Beispiel zeigt die Antwort.

POST https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7"
    },
    "activityType": "pendingFinanceApprovalRequests",
    "previewText": {
        "content": "Internal spending team has a pending finance approval requests"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.channelMembersNotificationRecipient",
        "teamId": "e8bece96-d393-4b9b-b8da-69cedef1a7e7",
        "channelId": "19:3d61a2309f094f4a9310b20f1db37520@thread.tacv2"
    },
    "templateParameters": [
        {
            "name": "pendingRequestCount",
            "value": "5"
        }
    ] 
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content

Beispiel 7: Benachrichtigen über ausstehende Finanzgenehmigungsanforderungen am Antwortspeicherort für Kanalnachrichten

Ähnlich wie im vorherigen Beispiel wird in diesem Beispiel für verwendet entityUrltopic. In diesem Beispiel wird jedoch eine Verknüpfung mit einer Kanalnachrichtenantwort erstellt. Die Antwort auf die Kanalnachricht zeigt den Status der Hotelreservierung des Benutzers an. Wenn Sie die Benachrichtigung auswählen, wird der Benutzer zur Antwortnachricht im Kanal geleitet, wo er seinen Reservierungsstatus überprüfen kann.

Anforderung

Das folgende Beispiel zeigt die Antwort.

POST https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/beta/teams/{teamId}/channels/{channelId}/messages/{messageId}/replies/{replyId}"
    },
    "activityType": "reservationStatusUpdated",
    "previewText": {
        "content": "You have moved up the queue"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "jacob@contoso.com"
    },
    "templateParameters": [
        {
            "name": "reservationId",
            "value": "TREEE433"
        },
        {
            "name": "currentSlot",
            "value": "23"
        }
    ]
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content