chat: sendActivityNotification

Namespace: microsoft.graph

Senden einer Aktivitätsfeedbenachrichtigung im Bereich eines Chats. 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.Chat TeamsActivity.Send

Hinweis: Die TeamsActivity.Send.Chat Berechtigung verwendet die ressourcenspezifische Zustimmung.

HTTP-Anforderung

POST /chats/{chatId}/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 String Der Aktivitätstyp. Aktivitätstypen müssen im Teams-App-Manifest deklariert werden.
chainId Int64 Optional. Die Ketten-ID der 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 und chatMembersNotificationRecipient.
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 derselben Microsoft Entra ID App-ID für denselben Empfängerbenutzer installiert werden. Vermeiden Sie die Freigabe Microsoft Entra ID App-IDs zwischen Teams-Apps.

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

Hinweis: Die Entitäts-URL muss mit oder einer untergeordneten Ressource des Chats in der URL identisch sein. Darüber hinaus muss die Teams-App im Chat installiert sein.

Antwort

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

Beispiele

Beispiel 1: Benachrichtigen eines Benutzers über eine in einem Chat erstellte Aufgabe

Das folgende Beispiel zeigt, wie Sie eine Aktivitätsfeedbenachrichtigung für eine neue Aufgabe senden können, die in einem Chat erstellt wurde. Weitere Informationen finden Sie unter Senden von Teams-Aktivitätsbenachrichtigungen.

Anforderung

Das folgende Beispiel zeigt die Antwort.

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

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/chats/{chatId}"
    },
    "activityType": "taskCreated",
    "previewText": {
        "content": "New Task Created"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "taskId",
            "value": "Task 12322"
        }
    ] 
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content

Beispiel 2: Benachrichtigen eines Benutzers über eine genehmigung, die in einer Chatnachricht erforderlich ist

Ähnlich wie im vorherigen Beispiel wird in diesem Beispiel für verwendet entityUrltopic. In diesem Fall wird jedoch eine Verknüpfung mit einer Nachricht im Chat erstellt. Die Nachricht kann eine Karte mit der Genehmigungsschaltfläche enthalten.

Anforderung

Das folgende Beispiel zeigt die Antwort.

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

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/chats/{chatId}/messages/{messageId}"
    },
    "activityType": "approvalRequired",
    "previewText": {
        "content": "Deployment requires your approval"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "approvalTaskId",
            "value": "2020AAGGTAPP"
        }
    ]
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content

Beispiel 3: Benachrichtigen eines Benutzers über eine erforderliche Genehmigung in einer Chatnachricht mithilfe des Benutzerprinzipalnamens

Ähnlich wie im vorherigen Beispiel wird in diesem Beispiel für verwendet entityUrltopic. In diesem Fall wird jedoch eine Verknüpfung mit einer Nachricht im Chat erstellt. Die Nachricht kann eine Karte mit der Genehmigungsschaltfläche enthalten.

Anforderung

Das folgende Beispiel zeigt die Antwort.

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

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/chats/{chatId}/messages/{messageId}"
    },
    "activityType": "approvalRequired",
    "previewText": {
        "content": "Deployment requires your approval"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "jacob@contoso.com"
    },
    "templateParameters": [
        {
            "name": "approvalTaskId",
            "value": "2020AAGGTAPP"
        }
    ]
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content

Beispiel 4: Benachrichtigen eines Benutzers über ein Ereignis in Bezug auf einen Chat

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

Anforderung

Das folgende Beispiel zeigt die Antwort.

POST https://graph.microsoft.com/v1.0/chats/{chatId}/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

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content

Beispiel 5: Benachrichtigen der Chatmitglieder über eine in einem Chat erstellte Aufgabe

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

Anforderung

Das folgende Beispiel zeigt die Antwort.

POST https://graph.microsoft.com/v1.0/chats/19:1c3af46e9e0f4a5293343c8813c47619@thread.v2/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/chats/19:1c3af46e9e0f4a5293343c8813c47619@thread.v2"
    },
    "activityType": "taskCreated",
    "previewText": {
        "content": "New Task Created"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.chatMembersNotificationRecipient",
        "chatId": "19:1c3af46e9e0f4a5293343c8813c47619@thread.v2"
    },
    "templateParameters": [
        {
            "name": "taskId",
            "value": "Task 12322"
        }
    ] 
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content